<!DOCTYPE html>
<html class='v2' dir='ltr' xmlns='http://www.w3.org/1999/xhtml' xmlns:b='http://www.google.com/2005/gml/b' xmlns:data='http://www.google.com/2005/gml/data' xmlns:expr='http://www.google.com/2005/gml/expr'>
<head>
<meta content='IE=EmulateIE7' http-equiv='X-UA-Compatible'/>
<meta content='width=1100' name='viewport'/>
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
<script type="text/javascript">(function() { var b=window,f="jstiming",g="tick";(function(){function d(a){this.t={};this.tick=function(a,d,c){var e=void 0!=c?c:(new Date).getTime();this.t[a]=[e,d];if(void 0==c)try{b.console.timeStamp("CSI/"+a)}catch(h){}};this[g]("start",null,a)}var a;b.performance&&(a=b.performance.timing);var m=a?new d(a.responseStart):new d;b.jstiming={Timer:d,load:m};if(a){var c=a.navigationStart,h=a.responseStart;0<c&&h>=c&&(b[f].srt=h-c)}if(a){var e=b[f].load;0<c&&h>=c&&(e[g]("_wtsrt",void 0,c),e[g]("wtsrt_","_wtsrt",h),e[g]("tbsd_","wtsrt_"))}try{a=null,
b.chrome&&b.chrome.csi&&(a=Math.floor(b.chrome.csi().pageT),e&&0<c&&(e[g]("_tbnd",void 0,b.chrome.csi().startE),e[g]("tbnd_","_tbnd",c))),null==a&&b.gtbExternal&&(a=b.gtbExternal.pageT()),null==a&&b.external&&(a=b.external.pageT,e&&0<c&&(e[g]("_tbnd",void 0,b.external.startE),e[g]("tbnd_","_tbnd",c))),a&&(b[f].pt=a)}catch(n){}})();b.tickAboveFold=function(d){var a=0;if(d.offsetParent){do a+=d.offsetTop;while(d=d.offsetParent)}d=a;750>=d&&b[f].load[g]("aft")};var k=!1;function l(){k||(k=!0,b[f].load[g]("firstScrollTime"))}b.addEventListener?b.addEventListener("scroll",l,!1):b.attachEvent("onscroll",l);
 })();</script>
<meta content='blogger' name='generator'/>
<link href='http://krams915.blogspot.hk/favicon.ico' rel='icon' type='image/x-icon'/>
<link href='http://krams915.blogspot.com/2011/01/spring-security-mvc-using-embedded-ldap.html' rel='canonical'/>
<link rel="alternate" type="application/atom+xml" title="krams:: - Atom" href="http://krams915.blogspot.com/feeds/posts/default" />
<link rel="alternate" type="application/rss+xml" title="krams:: - RSS" href="http://krams915.blogspot.com/feeds/posts/default?alt=rss" />
<link rel="service.post" type="application/atom+xml" title="krams:: - Atom" href="http://www.blogger.com/feeds/5097100801581543528/posts/default" />

<link rel="alternate" type="application/atom+xml" title="krams:: - Atom" href="http://krams915.blogspot.com/feeds/4316534791643282912/comments/default" />
<!--[if IE]><script type="text/javascript" src="https://www.blogger.com/static/v1/jsbin/4163410827-ieretrofit.js"></script>
<![endif]-->
<!--[if IE]> <script> (function() { var html5 = ("abbr,article,aside,audio,canvas,datalist,details," + "figure,footer,header,hgroup,mark,menu,meter,nav,output," + "progress,section,time,video").split(','); for (var i = 0; i < html5.length; i++) { document.createElement(html5[i]); } try { document.execCommand('BackgroundImageCache', false, true); } catch(e) {} })(); </script> <![endif]-->
<title>krams::: Spring Security - MVC: Using an Embedded LDAP Server</title>
<link type='text/css' rel='stylesheet' href='https://www.blogger.com/static/v1/widgets/2356033831-widget_css_2_bundle.css' />
<link type='text/css' rel='stylesheet' href='//www.blogger.com/dyn-css/authorization.css?targetBlogID=5097100801581543528&zx=f7c1c383-3810-4fc2-bd08-a32708c3c0f5' />
<style id='page-skin-1' type='text/css'><!--
/*
-----------------------------------------------
Blogger Template Style
Name:     Awesome Inc.
Designer: Tina Chen
URL:      tinachen.org
----------------------------------------------- */
/* Variable definitions
====================
<Variable name="keycolor" description="Main Color" type="color" default="#ffffff"/>
<Group description="Page" selector="body">
<Variable name="body.font" description="Font" type="font"
default="normal normal 13px Arial, Tahoma, Helvetica, FreeSans, sans-serif"/>
<Variable name="body.background.color" description="Background Color" type="color" default="#000000"/>
<Variable name="body.text.color" description="Text Color" type="color" default="#ffffff"/>
</Group>
<Group description="Links" selector=".main-inner">
<Variable name="link.color" description="Link Color" type="color" default="#888888"/>
<Variable name="link.visited.color" description="Visited Color" type="color" default="#444444"/>
<Variable name="link.hover.color" description="Hover Color" type="color" default="#cccccc"/>
</Group>
<Group description="Blog Title" selector=".header h1">
<Variable name="header.font" description="Title Font" type="font"
default="normal bold 40px Arial, Tahoma, Helvetica, FreeSans, sans-serif"/>
<Variable name="header.text.color" description="Title Color" type="color" default="#000000" />
<Variable name="header.background.color" description="Header Background" type="color" default="transparent" />
</Group>
<Group description="Blog Description" selector=".header .description">
<Variable name="description.font" description="Font" type="font"
default="normal normal 14px Arial, Tahoma, Helvetica, FreeSans, sans-serif"/>
<Variable name="description.text.color" description="Text Color" type="color"
default="#000000" />
</Group>
<Group description="Tabs Text" selector=".tabs-inner .widget li a">
<Variable name="tabs.font" description="Font" type="font"
default="normal bold 14px Arial, Tahoma, Helvetica, FreeSans, sans-serif"/>
<Variable name="tabs.text.color" description="Text Color" type="color" default="#000000"/>
<Variable name="tabs.selected.text.color" description="Selected Color" type="color" default="#ffffff"/>
</Group>
<Group description="Tabs Background" selector=".tabs-outer .PageList">
<Variable name="tabs.background.color" description="Background Color" type="color" default="#141414"/>
<Variable name="tabs.selected.background.color" description="Selected Color" type="color" default="#444444"/>
<Variable name="tabs.border.color" description="Border Color" type="color" default="transparent"/>
</Group>
<Group description="Date Header" selector=".main-inner .widget h2.date-header, .main-inner .widget h2.date-header span">
<Variable name="date.font" description="Font" type="font"
default="normal normal 14px Arial, Tahoma, Helvetica, FreeSans, sans-serif"/>
<Variable name="date.text.color" description="Text Color" type="color" default="#666666"/>
<Variable name="date.border.color" description="Border Color" type="color" default="transparent"/>
</Group>
<Group description="Post Title" selector="h3.post-title, h4, h3.post-title a">
<Variable name="post.title.font" description="Font" type="font"
default="normal bold 22px Arial, Tahoma, Helvetica, FreeSans, sans-serif"/>
<Variable name="post.title.text.color" description="Text Color" type="color" default="#000000"/>
</Group>
<Group description="Post Background" selector=".post">
<Variable name="post.background.color" description="Background Color" type="color" default="transparent" />
<Variable name="post.border.color" description="Border Color" type="color" default="transparent" />
<Variable name="post.border.bevel.color" description="Bevel Color" type="color" default="transparent"/>
</Group>
<Group description="Gadget Title" selector="h2">
<Variable name="widget.title.font" description="Font" type="font"
default="normal bold 14px Arial, Tahoma, Helvetica, FreeSans, sans-serif"/>
<Variable name="widget.title.text.color" description="Text Color" type="color" default="#000000"/>
</Group>
<Group description="Gadget Text" selector=".sidebar .widget">
<Variable name="widget.font" description="Font" type="font"
default="normal normal 14px Arial, Tahoma, Helvetica, FreeSans, sans-serif"/>
<Variable name="widget.text.color" description="Text Color" type="color" default="#000000"/>
<Variable name="widget.alternate.text.color" description="Alternate Color" type="color" default="#666666"/>
</Group>
<Group description="Gadget Links" selector=".sidebar .widget">
<Variable name="widget.link.color" description="Link Color" type="color" default="#a82121"/>
<Variable name="widget.link.visited.color" description="Visited Color" type="color" default="#000000"/>
<Variable name="widget.link.hover.color" description="Hover Color" type="color" default="#a82121"/>
</Group>
<Group description="Gadget Background" selector=".sidebar .widget">
<Variable name="widget.background.color" description="Background Color" type="color" default="#141414"/>
<Variable name="widget.border.color" description="Border Color" type="color" default="#222222"/>
<Variable name="widget.border.bevel.color" description="Bevel Color" type="color" default="#000000"/>
</Group>
<Group description="Sidebar Background" selector=".column-left-inner .column-right-inner">
<Variable name="widget.outer.background.color" description="Background Color" type="color" default="transparent" />
</Group>
<Group description="Images" selector=".main-inner">
<Variable name="image.background.color" description="Background Color" type="color" default="transparent"/>
<Variable name="image.border.color" description="Border Color" type="color" default="transparent"/>
</Group>
<Group description="Feed" selector=".blog-feeds">
<Variable name="feed.text.color" description="Text Color" type="color" default="#000000"/>
</Group>
<Group description="Feed Links" selector=".blog-feeds">
<Variable name="feed.link.color" description="Link Color" type="color" default="#a82121"/>
<Variable name="feed.link.visited.color" description="Visited Color" type="color" default="#000000"/>
<Variable name="feed.link.hover.color" description="Hover Color" type="color" default="#a82121"/>
</Group>
<Group description="Pager" selector=".blog-pager">
<Variable name="pager.background.color" description="Background Color" type="color" default="#ffffff" />
</Group>
<Group description="Footer" selector=".footer-outer">
<Variable name="footer.background.color" description="Background Color" type="color" default="transparent" />
<Variable name="footer.text.color" description="Text Color" type="color" default="#000000" />
</Group>
<Variable name="title.shadow.spread" description="Title Shadow" type="length" default="-1px"/>
<Variable name="body.background" description="Body Background" type="background"
color="#ceabaf"
default="$(color) none repeat scroll top left"/>
<Variable name="body.background.gradient.cap" description="Body Gradient Cap" type="url"
default="none"/>
<Variable name="tabs.background.gradient" description="Tabs Background Gradient" type="url"
default="none"/>
<Variable name="header.background.gradient" description="Header Background Gradient" type="url" default="none" />
<Variable name="header.padding.top" description="Header Top Padding" type="length" default="22px" />
<Variable name="header.margin.top" description="Header Top Margin" type="length" default="0" />
<Variable name="header.margin.bottom" description="Header Bottom Margin" type="length" default="0" />
<Variable name="widget.padding.top" description="Widget Padding Top" type="length" default="8px" />
<Variable name="widget.padding.side" description="Widget Padding Side" type="length" default="15px" />
<Variable name="widget.outer.margin.top" description="Widget Top Margin" type="length" default="0" />
<Variable name="widget.outer.background.gradient" description="Gradient" type="url" default="none" />
<Variable name="widget.border.radius" description="Gadget Border Radius" type="length" default="0" />
<Variable name="outer.shadow.spread" description="Outer Shadow Size" type="length" default="0" />
<Variable name="date.header.border.radius.top" description="Date Header Border Radius Top" type="length" default="0" />
<Variable name="date.header.position" description="Date Header Position" type="length" default="15px" />
<Variable name="date.space" description="Date Space" type="length" default="30px" />
<Variable name="date.position" description="Date Float" type="string" default="static" />
<Variable name="date.padding.bottom" description="Date Padding Bottom" type="length" default="0" />
<Variable name="date.border.size" description="Date Border Size" type="length" default="0" />
<Variable name="date.background" description="Date Background" type="background" color="transparent"
default="$(color) none no-repeat scroll top left" />
<Variable name="date.first.border.radius.top" description="Date First top radius" type="length" default="10px" />
<Variable name="date.last.space.bottom" description="Date Last Space Bottom" type="length"
default="20px" />
<Variable name="date.last.border.radius.bottom" description="Date Last bottom radius" type="length" default="10px" />
<Variable name="post.first.padding.top" description="First Post Padding Top" type="length" default="0" />
<Variable name="image.shadow.spread" description="Image Shadow Size" type="length" default="0"/>
<Variable name="image.border.radius" description="Image Border Radius" type="length" default="0"/>
<Variable name="separator.outdent" description="Separator Outdent" type="length" default="15px" />
<Variable name="title.separator.border.size" description="Widget Title Border Size" type="length" default="1px" />
<Variable name="list.separator.border.size" description="List Separator Border Size" type="length" default="1px" />
<Variable name="shadow.spread" description="Shadow Size" type="length" default="0"/>
<Variable name="startSide" description="Side where text starts in blog language" type="automatic" default="left"/>
<Variable name="endSide" description="Side where text ends in blog language" type="automatic" default="right"/>
<Variable name="date.side" description="Side where date header is placed" type="string" default="right"/>
<Variable name="pager.border.radius.top" description="Pager Border Top Radius" type="length" default="10px" />
<Variable name="pager.space.top" description="Pager Top Space" type="length" default="1em" />
<Variable name="footer.background.gradient" description="Background Gradient" type="url" default="none" />
*/
/* Content
----------------------------------------------- */
body {
font: normal normal 13px Arial, Tahoma, Helvetica, FreeSans, sans-serif;
color: #000000;
background: #000000 url(http://themes.googleusercontent.com/image?id=1_UPSuFGxHEaIUme6AnAeu5ZvDnijFNnoLXkl6NuCpTfWQN5BRuDJV_NkibASw-94tFfA) no-repeat scroll top center /* Credit: rajareddychadive (http://www.istockphoto.com/googleimages.php?id=9171196&platform=blogger) */;
}
html body .content-outer {
min-width: 0;
max-width: 100%;
width: 100%;
}
a:link {
text-decoration: none;
color: #a82121;
}
a:visited {
text-decoration: none;
color: #000000;
}
a:hover {
text-decoration: underline;
color: #a82121;
}
.body-fauxcolumn-outer .cap-top {
position: absolute;
z-index: 1;
height: 276px;
width: 100%;
background: transparent none repeat-x scroll top left;
_background-image: none;
}
/* Columns
----------------------------------------------- */
.content-inner {
padding: 0;
}
.header-inner .section {
margin: 0 16px;
}
.tabs-inner .section {
margin: 0 16px;
}
.main-inner {
padding-top: 60px;
}
.main-inner .column-center-inner,
.main-inner .column-left-inner,
.main-inner .column-right-inner {
padding: 0 5px;
}
*+html body .main-inner .column-center-inner {
margin-top: -60px;
}
#layout .main-inner .column-center-inner {
margin-top: 0;
}
/* Header
----------------------------------------------- */
.header-outer {
margin: 14px 0 10px 0;
background: transparent url(http://www.blogblog.com/1kt/awesomeinc/header_gradient_artsy.png) repeat scroll 0 0;
}
.Header h1 {
font: normal normal 38px Arial, Tahoma, Helvetica, FreeSans, sans-serif;
color: #000000;
text-shadow: 0 0 -1px #000000;
}
.Header h1 a {
color: #000000;
}
.Header .description {
font: normal normal 16px Arial, Tahoma, Helvetica, FreeSans, sans-serif;
color: #000000;
}
.header-inner .Header .titlewrapper,
.header-inner .Header .descriptionwrapper {
padding-left: 0;
padding-right: 0;
margin-bottom: 0;
}
.header-inner .Header .titlewrapper {
padding-top: 9px;
}
/* Tabs
----------------------------------------------- */
.tabs-outer {
overflow: hidden;
position: relative;
background: transparent url(http://www.blogblog.com/1kt/awesomeinc/tabs_gradient_artsy.png) repeat scroll 0 0;
}
#layout .tabs-outer {
overflow: visible;
}
.tabs-cap-top, .tabs-cap-bottom {
position: absolute;
width: 100%;
border-top: 0px;
}
.tabs-cap-bottom {
bottom: 0;
}
.tabs-inner .widget li a {
display: inline-block;
margin: 0;
padding: .6em 1.5em;
font: normal normal 13px Arial, Tahoma, Helvetica, FreeSans, sans-serif;
color: #ffffff;
border-top: 0;
border-bottom: 0;
border-left: 0;
}
.tabs-inner .widget li:last-child a {
border-right: 0;
}
.tabs-inner .widget li.selected a, .tabs-inner .widget li a:hover {
background: #000000 url(http://www.blogblog.com/1kt/awesomeinc/tabs_gradient_artsy.png) repeat-x scroll 0 -100px;
color: #ffffff;
}
/* Headings
----------------------------------------------- */
h2 {
font: normal bold 14px Arial, Tahoma, Helvetica, FreeSans, sans-serif;
color: #ffffff;
}
/* Widgets
----------------------------------------------- */
.main-inner .section {
margin: 0 27px;
padding: 0;
}
.main-inner .column-left-outer,
.main-inner .column-right-outer {
margin-top: 0;
}
#layout .main-inner .column-left-outer,
#layout .main-inner .column-right-outer {
margin-top: 0;
}
.main-inner .column-left-inner,
.main-inner .column-right-inner {
background: transparent url(http://www.blogblog.com/1kt/awesomeinc/tabs_gradient_artsy.png) repeat 0 0;
-moz-box-shadow: 0 0 0 rgba(0, 0, 0, .2);
-webkit-box-shadow: 0 0 0 rgba(0, 0, 0, .2);
-goog-ms-box-shadow: 0 0 0 rgba(0, 0, 0, .2);
box-shadow: 0 0 0 rgba(0, 0, 0, .2);
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
-goog-ms-border-radius: 10px;
border-radius: 10px;
}
#layout .main-inner .column-left-inner,
#layout .main-inner .column-right-inner {
margin-top: 0;
}
.sidebar .widget {
font: normal normal 13px Arial, Tahoma, Helvetica, FreeSans, sans-serif;
color: #ffffff;
}
.sidebar .widget a:link {
color: #d3aaae;
}
.sidebar .widget a:visited {
color: #d4bd89;
}
.sidebar .widget a:hover {
color: #d3aaae;
}
.sidebar .widget h2 {
text-shadow: 0 0 -1px #000000;
}
.main-inner .widget {
background-color: transparent;
border: 1px solid transparent;
padding: 0 0 15px;
margin: 20px -16px;
-moz-box-shadow: 0 0 0 rgba(0, 0, 0, .2);
-webkit-box-shadow: 0 0 0 rgba(0, 0, 0, .2);
-goog-ms-box-shadow: 0 0 0 rgba(0, 0, 0, .2);
box-shadow: 0 0 0 rgba(0, 0, 0, .2);
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
-goog-ms-border-radius: 10px;
border-radius: 10px;
}
.main-inner .widget h2 {
margin: 0 -0;
padding: .6em 0 .5em;
border-bottom: 1px solid transparent;
}
.footer-inner .widget h2 {
padding: 0 0 .4em;
border-bottom: 1px solid transparent;
}
.main-inner .widget h2 + div, .footer-inner .widget h2 + div {
border-top: 0 solid transparent;
padding-top: 8px;
}
.main-inner .widget .widget-content {
margin: 0 -0;
padding: 7px 0 0;
}
.main-inner .widget ul, .main-inner .widget #ArchiveList ul.flat {
margin: -8px -15px 0;
padding: 0;
list-style: none;
}
.main-inner .widget #ArchiveList {
margin: -8px 0 0;
}
.main-inner .widget ul li, .main-inner .widget #ArchiveList ul.flat li {
padding: .5em 15px;
text-indent: 0;
color: #ffffff;
border-top: 0 solid transparent;
border-bottom: 1px solid transparent;
}
.main-inner .widget #ArchiveList ul li {
padding-top: .25em;
padding-bottom: .25em;
}
.main-inner .widget ul li:first-child, .main-inner .widget #ArchiveList ul.flat li:first-child {
border-top: none;
}
.main-inner .widget ul li:last-child, .main-inner .widget #ArchiveList ul.flat li:last-child {
border-bottom: none;
}
.post-body {
position: relative;
}
.main-inner .widget .post-body ul {
padding: 0 2.5em;
margin: .5em 0;
list-style: disc;
}
.main-inner .widget .post-body ul li {
padding: 0.25em 0;
margin-bottom: .25em;
color: #000000;
border: none;
}
.footer-inner .widget ul {
padding: 0;
list-style: none;
}
.widget .zippy {
color: #ffffff;
}
/* Posts
----------------------------------------------- */
body .main-inner .Blog {
padding: 0;
margin-bottom: 1em;
background-color: transparent;
border: none;
-moz-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
-webkit-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
-goog-ms-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
box-shadow: 0 0 0 rgba(0, 0, 0, 0);
}
.main-inner .section:last-child .Blog:last-child {
padding: 0;
margin-bottom: 1em;
}
.main-inner .widget h2.date-header {
margin: 0 -15px 1px;
padding: 0 0 0 0;
font: normal normal 13px Arial, Tahoma, Helvetica, FreeSans, sans-serif;
color: #ffffff;
background: transparent url(http://www.blogblog.com/1kt/awesomeinc/tabs_gradient_artsy.png) repeat fixed center center;
border-top: 0 solid transparent;
border-bottom: 1px solid transparent;
-moz-border-radius-topleft: 10px;
-moz-border-radius-topright: 10px;
-webkit-border-top-left-radius: 10px;
-webkit-border-top-right-radius: 10px;
border-top-left-radius: 10px;
border-top-right-radius: 10px;
position: absolute;
bottom: 100%;
left: 25px;
text-shadow: 0 0 -1px #000000;
}
.main-inner .widget h2.date-header span {
font: normal normal 13px Arial, Tahoma, Helvetica, FreeSans, sans-serif;
display: block;
padding: .5em 15px;
border-left: 0 solid transparent;
border-right: 0 solid transparent;
}
.date-outer {
position: relative;
margin: 60px 0 20px;
padding: 0 15px;
background-color: #ffffff;
border: 1px solid #f1cbc0;
-moz-box-shadow: 0 0 0 rgba(0, 0, 0, .2);
-webkit-box-shadow: 0 0 0 rgba(0, 0, 0, .2);
-goog-ms-box-shadow: 0 0 0 rgba(0, 0, 0, .2);
box-shadow: 0 0 0 rgba(0, 0, 0, .2);
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
-goog-ms-border-radius: 10px;
border-radius: 10px;
}
.date-outer:first-child {
margin-top: 0;
}
.date-outer:last-child {
margin-bottom: 0;
-moz-border-radius-bottomleft: 0;
-moz-border-radius-bottomright: 0;
-webkit-border-bottom-left-radius: 0;
-webkit-border-bottom-right-radius: 0;
-goog-ms-border-bottom-left-radius: 0;
-goog-ms-border-bottom-right-radius: 0;
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
}
.date-posts {
margin: 0 -0;
padding: 0 0;
clear: both;
}
.post-outer, .inline-ad {
border-top: 1px solid #f6ded7;
margin: 0 -0;
padding: 15px 0;
}
.post-outer {
padding-bottom: 10px;
}
.post-outer:first-child {
padding-top: 10px;
border-top: none;
}
.post-outer:last-child, .inline-ad:last-child {
border-bottom: none;
}
.post-body {
position: relative;
}
.post-body img {
padding: 8px;
background: #ffffff;
border: 1px solid #c3c3c3;
-moz-box-shadow: 0 0 0 rgba(0, 0, 0, .2);
-webkit-box-shadow: 0 0 0 rgba(0, 0, 0, .2);
box-shadow: 0 0 0 rgba(0, 0, 0, .2);
-moz-border-radius: 0;
-webkit-border-radius: 0;
border-radius: 0;
}
h3.post-title, h4 {
font: normal normal 26px Arial, Tahoma, Helvetica, FreeSans, sans-serif;
color: #db4949;
}
h3.post-title a {
font: normal normal 26px Arial, Tahoma, Helvetica, FreeSans, sans-serif;
color: #db4949;
}
h3.post-title a:hover {
color: #a82121;
text-decoration: underline;
}
.post-header {
margin: 0 0 1em;
}
.post-body {
line-height: 1.4;
}
.post-outer h2 {
color: #000000;
}
.post-footer {
margin: 1.5em 0 0;
}
#blog-pager {
padding: 15px;
font-size: 120%;
background-color: #ffffff;
border: 1px solid transparent;
-moz-box-shadow: 0 0 0 rgba(0, 0, 0, .2);
-webkit-box-shadow: 0 0 0 rgba(0, 0, 0, .2);
-goog-ms-box-shadow: 0 0 0 rgba(0, 0, 0, .2);
box-shadow: 0 0 0 rgba(0, 0, 0, .2);
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
-goog-ms-border-radius: 10px;
border-radius: 10px;
-moz-border-radius-topleft: 0;
-moz-border-radius-topright: 0;
-webkit-border-top-left-radius: 0;
-webkit-border-top-right-radius: 0;
-goog-ms-border-top-left-radius: 0;
-goog-ms-border-top-right-radius: 0;
border-top-left-radius: 0;
border-top-right-radius-topright: 0;
margin-top: 0;
}
.blog-feeds, .post-feeds {
margin: 1em 0;
text-align: center;
color: #696969;
}
.blog-feeds a, .post-feeds a {
color: #ffffff;
}
.blog-feeds a:visited, .post-feeds a:visited {
color: #ffffff;
}
.blog-feeds a:hover, .post-feeds a:hover {
color: #ffffff;
}
.post-outer .comments {
margin-top: 2em;
}
/* Footer
----------------------------------------------- */
.footer-outer {
margin: -0 0 -1px;
padding: 0 0 0;
color: #696969;
overflow: hidden;
}
.footer-fauxborder-left {
border-top: 1px solid transparent;
background: transparent url(http://www.blogblog.com/1kt/awesomeinc/header_gradient_artsy.png) repeat scroll 0 0;
-moz-box-shadow: 0 0 0 rgba(0, 0, 0, .2);
-webkit-box-shadow: 0 0 0 rgba(0, 0, 0, .2);
-goog-ms-box-shadow: 0 0 0 rgba(0, 0, 0, .2);
box-shadow: 0 0 0 rgba(0, 0, 0, .2);
margin: 0 -0;
}
/* Mobile
----------------------------------------------- */
*+html body.mobile .main-inner .column-center-inner {
margin-top: 0;
}
.mobile .main-inner {
padding-top: 0;
}
.mobile .main-inner .widget {
padding: 0 0 15px;
}
.mobile .main-inner .widget h2 + div,
.mobile .footer-inner .widget h2 + div {
border-top: none;
padding-top: 0;
}
.mobile .footer-inner .widget h2 {
padding: 0.5em 0;
border-bottom: none;
}
.mobile .main-inner .widget .widget-content {
margin: 0;
padding: 7px 0 0;
}
.mobile .main-inner .widget ul,
.mobile .main-inner .widget #ArchiveList ul.flat {
margin: 0 -15px 0;
}
.mobile .main-inner .widget h2.date-header {
left: 0;
}
.mobile .date-header span {
padding: 0.4em 0;
}
.mobile .date-outer:first-child {
margin-bottom: 0;
border: 1px solid #f1cbc0;
-moz-border-radius-topleft: 10px;
-moz-border-radius-topright: 10px;
-webkit-border-top-left-radius: 10px;
-webkit-border-top-right-radius: 10px;
-goog-ms-border-top-left-radius: 10px;
-goog-ms-border-top-right-radius: 10px;
border-top-left-radius: 10px;
border-top-right-radius: 10px;
}
.mobile .date-outer {
border-color: #f1cbc0;
border-width: 0 1px 1px;
}
.mobile .date-outer:last-child {
margin-bottom: 0;
}
.mobile .main-inner {
padding: 20px 10px;
}
.mobile .header-inner .section {
margin: 0;
}
.mobile .post-outer, .mobile .inline-ad {
padding: 5px 0;
}
.mobile .tabs-inner .section {
margin: 0 10px;
}
.mobile .main-inner .section {
margin: 0;
}
.mobile .main-inner .widget h2 {
margin: 0;
padding: 0;
}
.mobile .main-inner .widget h2.date-header span {
padding: 0;
}
.mobile .main-inner .widget .widget-content {
margin: 0;
padding: 7px 0 0;
}
.mobile .main-inner .column-center-inner,
.mobile .main-inner .column-left-inner,
.mobile .main-inner .column-right-inner {
padding: 0;
}
.mobile .main-inner .column-left-inner,
.mobile .main-inner .column-right-inner {
background: transparent url(http://www.blogblog.com/1kt/awesomeinc/tabs_gradient_artsy.png) repeat 0 0;
-moz-box-shadow: none;
-webkit-box-shadow: none;
-goog-ms-box-shadow: none;
box-shadow: none;
}
.mobile .date-posts {
margin: 0;
padding: 0;
}
.mobile .footer-fauxborder-left {
margin: 0;
}
.mobile .main-inner .section:last-child .Blog:last-child {
margin-bottom: 0;
}
.mobile .mobile-link-button {
background: #000000 url(http://www.blogblog.com/1kt/awesomeinc/tabs_gradient_artsy.png) repeat-x scroll 0 -100px;
}
.mobile-link-button a:link, .mobile-link-button a:visited {
color: #ffffff;
}

--></style>
<style id='template-skin-1' type='text/css'><!--
body {
min-width: 1000px;
}
.content-outer, .content-fauxcolumn-outer, .region-inner {
min-width: 1000px;
max-width: 1000px;
_width: 1000px;
}
.main-inner .columns {
padding-left: 0;
padding-right: 330px;
}
.main-inner .fauxcolumn-center-outer {
left: 0;
right: 330px;
/* IE6 does not respect left and right together */
_width: expression(this.parentNode.offsetWidth -
parseInt("0") -
parseInt("330px") + 'px');
}
.main-inner .fauxcolumn-left-outer {
width: 0;
}
.main-inner .fauxcolumn-right-outer {
width: 330px;
}
.main-inner .column-left-outer {
width: 0;
right: 100%;
margin-left: -0;
}
.main-inner .column-right-outer {
width: 330px;
margin-right: -330px;
}
#layout {
min-width: 0;
}
#layout .content-outer {
min-width: 0;
width: 800px;
}
#layout .region-inner {
min-width: 0;
width: auto;
}
--></style>
<!--Syntax Highlighter Begins-->
<link href='http://alexgorbatchev.com/pub/sh/current/styles/shCore.css' rel='stylesheet' type='text/css'/>
<link href='http://alexgorbatchev.com/pub/sh/current/styles/shThemeEclipse.css' rel='stylesheet' type='text/css'/>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shCore.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCpp.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCSharp.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCss.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJava.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJScript.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPhp.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPython.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushRuby.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushSql.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushVb.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushXml.js' type='text/javascript'></script>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPerl.js' type='text/javascript'></script>
<script language='javascript'>
SyntaxHighlighter.config.bloggerMode = true;
SyntaxHighlighter.config.clipboardSwf = 'http://alexgorbatchev.com/pub/sh/current/scripts/clipboard.swf';
SyntaxHighlighter.all();
</script>
<!--Syntax Highlighter Ends-->
<!--jQuery starts-->
<style>
.explanation {
	background-color: #FEFCAF;
	background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #fefcaf),color-stop(1, #fffeda));
	background-image: -webkit-linear-gradient(top, #fefcaf, #fffeda);
	background-image: -moz-linear-gradient(top, #fefcaf, #fffeda);
	background-image: -ms-linear-gradient(top, #fefcaf, #fffeda);
	background-image: -o-linear-gradient(top, #fefcaf, #fffeda);
	padding: 15px;
	margin: 0 0 20px 0;
	-webkit-box-shadow: 1px 1px 3px rgba(0,0,0,0.25);
	-moz-box-shadow: 1px 1px 3px rgba(0,0,0,0.25);
	box-shadow: 1px 1px 3px rgba(0,0,0,0.25);
}

.base-table {
  border: 1px solid black;
  width: 50%; 
  text-align: center;
  border-collapse:collapse;
}

.base-table th, .base-table td {
  border: 1px solid black;
}


.base-table caption {
  font-weight: bold;
}

.code-custom {
   background:#333;
   border: 1px solid #fff; 
   padding-left: 10px;
   color: #DFC484;
}

.quote-title {
   font-weight: bold;
   font-style: italic; 
}

.table-of-contents li {
   padding-top: 0px;
   padding-bottom: 0px;
   margin-top: 0px;
   margin-bottom: 0px;
}

.hr-title {
   width: 70%; 
   text-align:left; 
   padding: 0px; 
   margin: 0px; 
   height: 1px
}
</style>
<link href='http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.10/themes/eggplant/jquery-ui.css' rel='stylesheet' type='text/css'/>
<script src='http://code.jquery.com/jquery-1.6.3.js' type='text/javascript'></script>
<script src='http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.js' type='text/javascript'></script>
<script type='text/javascript'> 
$(function() {
  $("body").find(".code-custom").addClass("ui-corner-top").addClass("ui-corner-bottom");
});
</script>
<!--jQuery ends-->
<!--ShareThis starts-->
<script type='text/javascript'>var _sttoolbar = {}</script><script src='http://w.sharethis.com/widget/stblogger.js' type='text/javascript'></script><script type='text/javascript'>stBlogger.init("http://w.sharethis.com/button/sharethis.js#publisher=192bbacc-6ee5-422c-8fff-4083211de21e&type=blogger");</script>
<!--ShareThis ends-->
<script type="text/javascript">var a=navigator,b="userAgent",c="indexOf",f="&m=1",g="(^|&)m=",h="?",k="?m=1";function l(){var d=window.location.href,e=d.split(h);switch(e.length){case 1:return d+k;case 2:return 0<=e[1].search(g)?null:d+f;default:return null}}if(-1!=a[b][c]("Mobile")&&-1!=a[b][c]("WebKit")&&-1==a[b][c]("iPad")||-1!=a[b][c]("Opera Mini")||-1!=a[b][c]("IEMobile")){var m=l();m&&window.location.replace(m)};
</script><script type="text/javascript">
if (window.jstiming) window.jstiming.load.tick('headEnd');
</script></head>
<body class='loading'>
<div class='navbar section' id='navbar'><div class='widget Navbar' id='Navbar1'><script type="text/javascript">
    function setAttributeOnload(object, attribute, val) {
      if(window.addEventListener) {
        window.addEventListener('load',
          function(){ object[attribute] = val; }, false);
      } else {
        window.attachEvent('onload', function(){ object[attribute] = val; });
      }
    }
  </script>
<div id="navbar-iframe-container"></div>
<script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script>
<script type="text/javascript">
        gapi.load("gapi.iframes:gapi.iframes.style.bubble", function() {
          if (gapi.iframes && gapi.iframes.getContext) {
            gapi.iframes.getContext().openChild({
                url: '//www.blogger.com/navbar.g?targetBlogID\0755097100801581543528\46blogName\75krams::\46publishMode\75PUBLISH_MODE_BLOGSPOT\46navbarType\75LIGHT\46layoutType\75LAYOUTS\46searchRoot\75http://krams915.blogspot.com/search\46blogLocale\75en\46v\0752\46homepageUrl\75http://krams915.blogspot.com/\46targetPostID\0754316534791643282912\46blogPostOrPageUrl\75http://krams915.blogspot.com/2011/01/spring-security-mvc-using-embedded-ldap.html\46vt\75-2034128119429946175',
                where: document.getElementById("navbar-iframe-container"),
                id: "navbar-iframe"
            });
          }
        });
      </script><script type="text/javascript">
(function() {
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = '//pagead2.googlesyndication.com/pagead/js/google_top_exp.js';
var head = document.getElementsByTagName('head')[0];
if (head) {
head.appendChild(script);
}})();
</script>
</div></div>
<div class='body-fauxcolumns'>
<div class='fauxcolumn-outer body-fauxcolumn-outer'>
<div class='cap-top'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
<div class='fauxborder-left'>
<div class='fauxborder-right'></div>
<div class='fauxcolumn-inner'>
</div>
</div>
<div class='cap-bottom'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
</div>
</div>
<div class='content'>
<div class='content-fauxcolumns'>
<div class='fauxcolumn-outer content-fauxcolumn-outer'>
<div class='cap-top'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
<div class='fauxborder-left'>
<div class='fauxborder-right'></div>
<div class='fauxcolumn-inner'>
</div>
</div>
<div class='cap-bottom'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
</div>
</div>
<div class='content-outer'>
<div class='content-cap-top cap-top'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
<div class='fauxborder-left content-fauxborder-left'>
<div class='fauxborder-right content-fauxborder-right'></div>
<div class='content-inner'>
<header>
<div class='header-outer'>
<div class='header-cap-top cap-top'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
<div class='fauxborder-left header-fauxborder-left'>
<div class='fauxborder-right header-fauxborder-right'></div>
<div class='region-inner header-inner'>
<div class='header section' id='header'><div class='widget Header' id='Header1'>
<div id='header-inner'>
<div class='titlewrapper'>
<h1 class='title'>
<a href='http://krams915.blogspot.hk/'>krams::</a>
</h1>
</div>
<div class='descriptionwrapper'>
<p class='description'><span>"freely you receive, freely you give"</span></p>
</div>
</div>
</div></div>
</div>
</div>
<div style='clear: both'></div>
<div class='header-cap-bottom cap-bottom'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
</div>
</header>
<div class='tabs-outer'>
<div class='tabs-cap-top cap-top'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
<div class='fauxborder-left tabs-fauxborder-left'>
<div class='fauxborder-right tabs-fauxborder-right'></div>
<div class='region-inner tabs-inner'>
<div class='tabs section' id='crosscol'><div class='widget LinkList' id='LinkList34'>
<h2>Top Tabs</h2>
<div class='widget-content'>
<ul>
<li><a href='http://krams915.blogspot.com/'>Home</a></li>
<li><a href='http://krams915.blogspot.com/p/tutorials.html'>Tutorials</a></li>
<li><a href='http://krams915.blogspot.com/p/about-me.html'>About Me</a></li>
</ul>
<div class='clear'></div>
<span class='widget-item-control'>
<span class='item-control blog-admin'>
<a class='quickedit' href='//www.blogger.com/rearrange?blogID=5097100801581543528&widgetType=LinkList&widgetId=LinkList34&action=editWidget&sectionId=crosscol' onclick='return _WidgetManager._PopupConfig(document.getElementById("LinkList34"));' target='configLinkList34' title='Edit'>
<img alt='' height='18' src='http://img1.blogblog.com/img/icon18_wrench_allbkg.png' width='18'/>
</a>
</span>
</span>
<div class='clear'></div>
</div>
</div></div>
<div class='tabs section' id='crosscol-overflow'></div>
</div>
</div>
<div class='tabs-cap-bottom cap-bottom'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
</div>
<div class='main-outer'>
<div class='main-cap-top cap-top'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
<div class='fauxborder-left main-fauxborder-left'>
<div class='fauxborder-right main-fauxborder-right'></div>
<div class='region-inner main-inner'>
<div class='columns fauxcolumns'>
<div class='fauxcolumn-outer fauxcolumn-center-outer'>
<div class='cap-top'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
<div class='fauxborder-left'>
<div class='fauxborder-right'></div>
<div class='fauxcolumn-inner'>
</div>
</div>
<div class='cap-bottom'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
</div>
<div class='fauxcolumn-outer fauxcolumn-left-outer'>
<div class='cap-top'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
<div class='fauxborder-left'>
<div class='fauxborder-right'></div>
<div class='fauxcolumn-inner'>
</div>
</div>
<div class='cap-bottom'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
</div>
<div class='fauxcolumn-outer fauxcolumn-right-outer'>
<div class='cap-top'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
<div class='fauxborder-left'>
<div class='fauxborder-right'></div>
<div class='fauxcolumn-inner'>
</div>
</div>
<div class='cap-bottom'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
</div>
<!-- corrects IE6 width calculation -->
<div class='columns-inner'>
<div class='column-center-outer'>
<div class='column-center-inner'>
<div class='main section' id='main'><div class='widget Blog' id='Blog1'>
<div class='blog-posts hfeed'>
<!-- google_ad_section_start(name=default) -->

          <div class="date-outer">
        
<h2 class='date-header'><span>Saturday, January 8, 2011</span></h2>

          <div class="date-posts">
        
<div class='post-outer'>
<div class='post hentry'>
<a name='4316534791643282912'></a>
<h3 class='post-title entry-title'>
Spring Security - MVC: Using an Embedded LDAP Server
</h3>
<div class='post-header'>
<div class='post-header-line-1'></div>
</div>
<div class='post-body entry-content'>
In this tutorial we will setup a simple Spring MVC 3 application, secured by Spring Security. ur users will be authenticated against an LDAP provider. This tutorial is exactly similar with the Spring <a href="http://krams915.blogspot.com/2011/01/spring-security-mvc-using-ldap.html">Security - MVC: Using an LDAP Authentication Provider </a> tutorial. The main difference now is we will be using an embedded LDAP server for testing our application.<br />
<br />
<b>What is LDAP?</b><br />
<blockquote>The Lightweight Directory Access Protocol (LDAP) is an application protocol for reading and editing directories over an IP network. A directory is an organized set of records. For example, the telephone directory is an alphabetical list of persons and organizations, with each record having an address and phone number. A directory information tree often follows political, geographic, or organizational boundaries. LDAP directories often use Domain Name System (DNS) names for the highest levels. Deeper inside the directory might appear entries for people, departments, teams, printers, and documents.<br />
<br />
Source: http://en.wikipedia.org/wiki/LDAP</blockquote><br />
<b>How do we embed an <i>LDAP</i> server using Spring Security?</b><br />
<blockquote>18.3.1 Using an Embedded Test Server<br />
<br />
The &lt;ldap-server&gt; element can also be used to create an embedded server, which can be very useful for testing and demonstrations. In this case you use it without the url attribute:<br />
<br />
  <b>&lt;ldap-server root="dc=springframework,dc=org"/&gt;</b><br />
 <br />
Here we've specified that the root DIT of the directory should be &#8220;dc=springframework,dc=org&#8221;, which is the default. Used this way, the namespace parser will create an embedded Apache Directory server and scan the classpath for any LDIF files, which it will attempt to load into the server. You can customize this behaviour using the ldif attribute, which defines an LDIF resource to be loaded:<br />
<br />
  <b>&lt;ldap-server ldif="classpath:users.ldif" /&gt;</b><br />
<br />
Source: <a href="http://static.springsource.org/spring-security/site/docs/3.0.x/reference/ldap.html#d0e5900">Spring Security 3 Reference </a></blockquote>To convert our previous application from using an actual LDAP server to an embedded server, all we need to do is modify the <i><ldap-server></i><br />
<br />
Let's open the <i>spring-security.xml</i> file and modify the <i><ldap-server></i> tag to the new configuration:<br />
<br />
<pre class="brush:xml">// Old configuration
<security:ldap-server url="ldap://localhost:10389/o=mojo" manager-dn="uid=admin,ou=system" manager-password="secret" />
</pre><br />
<br />
<pre class="brush:xml">// New configuration
<security:ldap-server ldif="classpath:mojo.ldif"  root="o=mojo"/>
</pre><br />
Here's the updated <i>spring-security.xml</i>:<br />
<br />
<b>spring-security.xml</b><br />
<pre class="brush:xml">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;beans xmlns="http://www.springframework.org/schema/beans"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:security="http://www.springframework.org/schema/security"
 xsi:schemaLocation="http://www.springframework.org/schema/beans 
      http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
   http://www.springframework.org/schema/security 
   http://www.springframework.org/schema/security/spring-security-3.0.xsd"&gt;
 
 &lt;!-- This is where we configure Spring-Security  --&gt;
 &lt;security:http auto-config="true" use-expressions="true" access-denied-page="/krams/auth/denied" &gt;
 
  &lt;security:intercept-url pattern="/krams/auth/login" access="permitAll"/&gt;
  &lt;security:intercept-url pattern="/krams/main/admin" access="hasRole('ROLE_ADMIN')"/&gt;
  &lt;security:intercept-url pattern="/krams/main/common" access="hasRole('ROLE_USER')"/&gt;
  
  &lt;security:form-login
    login-page="/krams/auth/login" 
    authentication-failure-url="/krams/auth/login?error=true" 
    default-target-url="/krams/main/common"/&gt;
   
  &lt;security:logout 
    invalidate-session="true" 
    logout-success-url="/krams/auth/login" 
    logout-url="/krams/auth/logout"/&gt;
 
 &lt;/security:http&gt;
 
 &lt;!-- 
   For authentication:
   user-search-filter: the attribute name that contains the user name 
      user-search-base: the base path where to find user information
      
      For authorization:
      group-search-filter: the attribute name that contains the full dn of a user
      group-search-base: the base path where to find role information
      group-role-attribute: the attribute name that contains the role type
      role-prefix: the prefix to be added when retrieving role values
      
      For server access:
      manager-dn: the full dn of the person that has access to an LDAP server
      manager-password: the password of the person that has access to an LDAP server
 --&gt;
 &lt;security:authentication-manager&gt;
         &lt;security:ldap-authentication-provider  
           user-search-filter="(uid={0})" 
           user-search-base="ou=users"
           group-search-filter="(uniqueMember={0})"
           group-search-base="ou=groups"
           group-role-attribute="cn"
           role-prefix="ROLE_"&gt;
         &lt;/security:ldap-authentication-provider&gt;
 &lt;/security:authentication-manager&gt;
 
 &lt;!-- Use an embedded LDAP server. We need to declare the location of the LDIF file
   We also need to customize the root attribute default is "dc=springframework,dc=org"  --&gt;
 &lt;security:ldap-server ldif="classpath:mojo.ldif"  root="o=mojo"/&gt;
 
&lt;/beans&gt;</pre>For the embedded server to work, we need to include <i>LDIF</i> file in the classpath:<br />
<br />
<b>mojo.ldif</b><br />
<pre>version: 1

dn: o=mojo
objectClass: organization
objectClass: extensibleObject
objectClass: top
o: mojo

dn: ou=users,o=mojo
objectClass: extensibleObject
objectClass: organizationalUnit
objectClass: top
ou: users

dn: ou=groups,o=mojo
objectClass: extensibleObject
objectClass: organizationalUnit
objectClass: top
ou: groups

dn: cn=User,ou=groups,o=mojo
objectClass: groupOfUniqueNames
objectClass: top
cn: User
uniqueMember: cn=John Milton,ou=users,o=mojo
uniqueMember: cn=Robert Browning,ou=users,o=mojo
uniqueMember: cn=Hugo Williams,ou=users,o=mojo
uniqueMember: cn=John Keats,ou=users,o=mojo

dn: cn=Admin,ou=groups,o=mojo
objectClass: groupOfUniqueNames
objectClass: top
cn: Admin
uniqueMember: cn=Hugo Williams,ou=users,o=mojo
uniqueMember: cn=John Keats,ou=users,o=mojo

dn: cn=Robert Browning,ou=users,o=mojo
objectClass: organizationalPerson
objectClass: person
objectClass: inetOrgPerson
objectClass: top
cn: Robert Browning
sn: Browning
uid: rbrowning
userPassword:: cGFzcw==

dn: cn=John Keats,ou=users,o=mojo
objectClass: organizationalPerson
objectClass: person
objectClass: inetOrgPerson
objectClass: top
cn: John Keats
sn: Keats
uid: jkeats
userPassword:: cGFzcw==

dn: cn=Hugo Williams,ou=users,o=mojo
objectClass: organizationalPerson
objectClass: person
objectClass: inetOrgPerson
objectClass: top
cn: Hugo Williams
sn: Williams
uid: hwilliams
userPassword:: cGFzcw==

dn: cn=John Milton,ou=users,o=mojo
objectClass: organizationalPerson
objectClass: person
objectClass: inetOrgPerson
objectClass: top
cn: John Milton
sn: Milton
uid: jmilton
userPassword:: cGFzcw==
</pre>Then we have to modify our <i>pom.xml</i> to include the necessary dependencies for the embedded <i>ApacheDS</i> server. The depencies are big, so it might take a while to download.<br />
<br />
<i>pom.xml</i><br />
<pre class="brush:xml">    &lt;dependency&gt;
     &lt;groupId&gt;org.apache.directory.server&lt;/groupId&gt;
     &lt;artifactId&gt;apacheds-all&lt;/artifactId&gt;
     &lt;version&gt;1.5.5&lt;/version&gt;
     &lt;type&gt;jar&lt;/type&gt;
     &lt;scope&gt;compile&lt;/scope&gt;
    &lt;/dependency&gt;
    &lt;dependency&gt;
     &lt;groupId&gt;org.slf4j&lt;/groupId&gt;
     &lt;artifactId&gt;slf4j-api&lt;/artifactId&gt;
     &lt;version&gt;1.5.6&lt;/version&gt;
     &lt;type&gt;jar&lt;/type&gt;
     &lt;scope&gt;compile&lt;/scope&gt;
    &lt;/dependency&gt;
    &lt;dependency&gt;
     &lt;groupId&gt;org.slf4j&lt;/groupId&gt;
     &lt;artifactId&gt;slf4j-log4j12&lt;/artifactId&gt;
     &lt;version&gt;1.5.6&lt;/version&gt;
     &lt;type&gt;jar&lt;/type&gt;
     &lt;scope&gt;compile&lt;/scope&gt;
    &lt;/dependency&gt;</pre><br />
To access the login page, enter the following URL:<br />
<pre>http://localhost:8081/spring-security-ldap-embedded/krams/auth/login</pre>To logout, enter the following URL:<br />
<pre>http://localhost:8081/spring-security-ldap-embedded/krams/auth/logout</pre>To access the admin page, enter the following URL:<br />
<pre>http://localhost:8081/spring-security-ldap-embedded/krams/main/admin</pre>To access the common page, enter the following URL:<br />
<pre>http://localhost:8081/spring-security-ldap-embedded/krams/main/common</pre>Here are the usernames and passwords:<br />
<pre>rbrowning - pass
jkeats - pass
hwilliams - pass
jmilton - pass</pre><br />
That's it. We've managed to setup a simple Spring MVC 3 application, that's secured by Spring Security. We also used an embedded LDAP server for authenticating our users.<br />
<br />
The best way to learn further is to try the actual application.<br />
<br />
<b>Download the project</b><br />
You can access the project site at Google's Project Hosting at <a href="http://code.google.com/p/spring-security-ldap/">http://code.google.com/p/spring-security-ldap/</a><br />
<br />
You can download the project as a Maven build. Look for the <a href="http://spring-security-ldap.googlecode.com/files/spring-security-ldap-embedded.zip">spring-security-ldap-embedded.zip</a> in the Download sections.<br />
<br />
You can run the project directly using an embedded server via Maven.<br />
For Tomcat: <i>mvn tomcat:run</i><br />
For Jetty: <i>mvn jetty:run</i>
<hr/>
<style type='text/css'>
.bookmark img { border: 0;
padding:0px; }
.bookmark a:hover {
position: relative;
top: 1px;
left: 1px; }
</style><span class='bookmark'><table align='left' border='0' cellpadding='0' width='100%'>
<tr><td style='vertical-align:middle' valign='middle' width='30%'>
<div id='sbtxt4316534791643282912'>Share the joy:
			<span style='display:none'>
<a href='http://www.bloggerplugins.org'>blogger tutorials</a>
<a href='http://www.bloggerplugins.org/2007/09/social-bookmarking-elements-after-each.html'>Social Bookmarking   Blogger Widget</a>
</span>
</div>
<script type='text/javascript'>
			showsbtext("sbtxt" + "4316534791643282912",0)
		</script>
<a href='http://www.stumbleupon.com/submit?url=http://krams915.blogspot.hk/2011/01/spring-security-mvc-using-embedded-ldap.html&title=Spring Security - MVC: Using an Embedded LDAP Server' onmouseout='javascript:showsbtext("sbtxt4316534791643282912",0);' onmouseover='javascript:showsbtext("sbtxt4316534791643282912",19);' rel='nofollow' target='_blank'><img alt='StumpleUpon' src='http://lh4.ggpht.com/_u4gySN2ZgqE/SnVFoJLmchI/AAAAAAAAAjg/-2mcU8UjohA/icon_sb_stumb.gif%5B4%5D.png?imgmax=800'/></a>
<a href='http://digg.com/submit?phase=3&url=http://krams915.blogspot.hk/2011/01/spring-security-mvc-using-embedded-ldap.html' onmouseout='javascript:showsbtext("sbtxt4316534791643282912",0);' onmouseover='javascript:showsbtext("sbtxt4316534791643282912",1);' rel='nofollow' target='_blank'><img alt='DiggIt!' src='http://lh5.ggpht.com/_u4gySN2ZgqE/SnVFiI7X5sI/AAAAAAAAAjE/uoviRb4H0V8/icon_sb_dig%5B4%5D.gif?imgmax=800'/></a>
<a href='http://del.icio.us/post?url=http://krams915.blogspot.hk/2011/01/spring-security-mvc-using-embedded-ldap.html&title=Spring Security - MVC: Using an Embedded LDAP Server' onmouseout='javascript:showsbtext("sbtxt4316534791643282912",0);' onmouseover='javascript:showsbtext("sbtxt4316534791643282912",2);' rel='nofollow' target='_blank'><img alt='Del.icio.us' src='http://lh4.ggpht.com/_u4gySN2ZgqE/SnVFhIJeylI/AAAAAAAAAjA/efK7u8suKvs/icon_sb_del%5B4%5D.gif?imgmax=800'/></a>
<a href='http://www.blinklist.com/index.php?Action=Blink/addblink.php&Description=&Url=http://krams915.blogspot.hk/2011/01/spring-security-mvc-using-embedded-ldap.html&Title=Spring Security - MVC: Using an Embedded LDAP Server' onmouseout='javascript:showsbtext("sbtxt4316534791643282912",0);' onmouseover='javascript:showsbtext("sbtxt4316534791643282912",3);' rel='nofollow' target='_blank'><img alt='Blinklist' src='http://lh5.ggpht.com/_u4gySN2ZgqE/SnVFgIXzFNI/AAAAAAAAAi8/Vgqkftp6mvk/icon_sb_bli%5B4%5D.gif?imgmax=800'/></a>
<a href='http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http://krams915.blogspot.hk/2011/01/spring-security-mvc-using-embedded-ldap.html&=Spring Security - MVC: Using an Embedded LDAP Server' onmouseout='javascript:showsbtext("sbtxt4316534791643282912",0);' onmouseover='javascript:showsbtext("sbtxt4316534791643282912",4);' rel='nofollow' target='_blank'><img alt='Yahoo' src='http://lh3.ggpht.com/_u4gySN2ZgqE/SnVFqxs6oCI/AAAAAAAAAjs/s3Gqfd7n0KQ/icon_sb_yah%5B4%5D.gif?imgmax=800'/></a>
<a href='http://www.furl.net/storeIt.jsp?u=http://krams915.blogspot.hk/2011/01/spring-security-mvc-using-embedded-ldap.html&t=Spring Security - MVC: Using an Embedded LDAP Server' onmouseout='javascript:showsbtext("sbtxt4316534791643282912",0);' onmouseover='javascript:showsbtext("sbtxt4316534791643282912",8);' rel='nofollow' target='_blank'><img alt='Furl' src='http://lh6.ggpht.com/_u4gySN2ZgqE/SnVFiyVxsBI/AAAAAAAAAjI/Zwu2964qKmg/icon_sb_fur%5B4%5D.gif?imgmax=800'/></a>
<a href='http://www.technorati.com/cosmos/search.html?url=http://krams915.blogspot.hk/2011/01/spring-security-mvc-using-embedded-ldap.html' onmouseout='javascript:showsbtext("sbtxt4316534791643282912",0);' onmouseover='javascript:showsbtext("sbtxt4316534791643282912",9);' rel='nofollow' target='_blank'><img alt='Technorati' src='http://lh3.ggpht.com/_u4gySN2ZgqE/SnVFpG5R_SI/AAAAAAAAAjk/-cFqb1ngIIA/icon_sb_tec%5B4%5D.gif?imgmax=800'/></a>
<a href='http://www.simpy.com/simpy/LinkAdd.do?href=http://krams915.blogspot.hk/2011/01/spring-security-mvc-using-embedded-ldap.html&title=Spring Security - MVC: Using an Embedded LDAP Server' onmouseout='javascript:showsbtext("sbtxt4316534791643282912",0);' onmouseover='javascript:showsbtext("sbtxt4316534791643282912",10);' rel='nofollow' target='_blank'><img alt='Simpy' src='http://lh6.ggpht.com/_u4gySN2ZgqE/SnVFmiSmYfI/AAAAAAAAAjY/oy9Mov0ttUA/icon_sb_sim%5B4%5D.gif?imgmax=800'/></a>
<a href='http://www.spurl.net/spurl.php?url=http://krams915.blogspot.hk/2011/01/spring-security-mvc-using-embedded-ldap.html&title=Spring Security - MVC: Using an Embedded LDAP Server' onmouseout='javascript:showsbtext("sbtxt4316534791643282912",0);' onmouseover='javascript:showsbtext("sbtxt4316534791643282912",11);' rel='nofollow' target='_blank'><img alt='Spurl' src='http://lh6.ggpht.com/_u4gySN2ZgqE/SnVFnSDDHYI/AAAAAAAAAjc/rreFKKk8y84/icon_sb_spu%5B4%5D.gif?imgmax=800'/></a>
<a href='http://reddit.com/submit?url=http://krams915.blogspot.hk/2011/01/spring-security-mvc-using-embedded-ldap.html&title=Spring Security - MVC: Using an Embedded LDAP Server' onmouseout='javascript:showsbtext("sbtxt4316534791643282912",0);' onmouseover='javascript:showsbtext("sbtxt4316534791643282912",17);' rel='nofollow' target='_blank'><img alt='Reddit' src='http://lh4.ggpht.com/_u4gySN2ZgqE/SnVFlgfMydI/AAAAAAAAAjU/s6JQW7sjXGQ/icon_sb_red%5B4%5D.gif?imgmax=800'/></a>
<a href='http://www.google.com/bookmarks/mark?op=add&bkmk=http://krams915.blogspot.hk/2011/01/spring-security-mvc-using-embedded-ldap.html&title=Spring Security - MVC: Using an Embedded LDAP Server' onmouseout='javascript:showsbtext("sbtxt4316534791643282912",0);' onmouseover='javascript:showsbtext("sbtxt4316534791643282912",20);' rel='nofollow' target='_blank'><img alt='Google' src='http://lh4.ggpht.com/_u4gySN2ZgqE/SnVFj9KzF0I/AAAAAAAAAjM/JuLU-525wD8/icon_sb_goo%5B4%5D.gif?imgmax=800'/></a>
<script charset='utf-8' src='http://bit.ly/javascript-api.js?version=latest&login=tweettrackjs&apiKey=R_7e9987b2fd13d7e4e881f9cbb168f523' type='text/javascript'></script>
<script charset='utf-8' src='http://blogger-plugins.googlecode.com/files/bit.ly.js' type='text/javascript'></script>
<a href='http://twitter.com/?status=Spring Security - MVC: Using an Embedded LDAP Server ~ http://krams915.blogspot.hk/2011/01/spring-security-mvc-using-embedded-ldap.html' onclick='return TweetAndTrack.open(this, "http://krams915.blogspot.hk/2011/01/spring-security-mvc-using-embedded-ldap.html");' onmouseout='javascript:showsbtext("sbtxt4316534791643282912",0);' onmouseover='javascript:showsbtext("sbtxt4316534791643282912",21);' rel='nofollow' target='_blank'><span style='display:none;'>I'm reading: Spring Security - MVC: Using an Embedded LDAP Server ~</span>
<img alt='Twitter' src='http://lh5.ggpht.com/_u4gySN2ZgqE/SnVFp0q8DWI/AAAAAAAAAjo/ZajyLZ5HqSY/icon_sb_twitter%5B4%5D.png?imgmax=800'/></a>
<a href='http://www.facebook.com/sharer.php?u=http://krams915.blogspot.hk/2011/01/spring-security-mvc-using-embedded-ldap.html' onmouseout='javascript:showsbtext("sbtxt4316534791643282912",0);' onmouseover='javascript:showsbtext("sbtxt4316534791643282912",22);' rel='nofollow' target='_blank'><img alt='FaceBook' src='http://3.bp.blogspot.com/_u4gySN2ZgqE/Snq8BsUw8pI/AAAAAAAAAnM/T1ggoBrv6tk/s400/fbicon.png'/></a>
</td>
</tr>
</table><br/>
</span>
<a href='http://feeds.feedburner.com/krams915' rel='alternate' type='application/rss+xml'><img alt='' src='http://www.feedburner.com/fb/images/pub/feed-icon16x16.png' style='vertical-align:middle;border:0'/></a>
<a href='http://feeds.feedburner.com/krams915' rel='alternate' type='application/rss+xml'>Subscribe by reader</a>
<script type='text/javascript'> //Sharelet code
SHARETHIS.addEntry({
title: 'Spring Security - MVC: Using an Embedded LDAP Server', //ShareThis Object Properties
url: 'http://krams915.blogspot.hk/2011/01/spring-security-mvc-using-embedded-ldap.html'
});
</script>
<img src='http://www.blogger.com/img/icon18_email.gif' style='vertical-align:middle;border:0'/>
<a href='http://feedburner.google.com/fb/a/mailverify?uri=krams915&loc=en_US'> Subscribe by email</a>
<a href='http://www.facebook.com/sharer.php' name='fb_share' type='button_count'>Share</a><script src='http://static.ak.fbcdn.net/connect.php/js/FB.Share' type='text/javascript'></script>
<p></p>
<div style='clear: both;'></div>
</div>
<div class='post-footer'>
<div class='post-footer-line post-footer-line-1'><span class='post-author vcard'>
Posted by
<span class='fn'>Mark Serrano</span>
</span>
<span class='post-timestamp'>
at
<a class='timestamp-link' href='http://krams915.blogspot.hk/2011/01/spring-security-mvc-using-embedded-ldap.html' rel='bookmark' title='permanent link'><abbr class='published' title='2011-01-08T20:13:00+08:00'>8:13 PM</abbr></a>
</span>
<span class='post-comment-link'>
</span>
<span class='post-icons'>
<span class='item-control blog-admin pid-975706293'>
<a href='http://www.blogger.com/post-edit.g?blogID=5097100801581543528&postID=4316534791643282912&from=pencil' title='Edit Post'>
<img alt='' class='icon-action' height='18' src='http://img2.blogblog.com/img/icon18_edit_allbkg.gif' width='18'/>
</a>
</span>
</span>
</div>
<div class='post-footer-line post-footer-line-2'></div>
<div class='post-footer-line post-footer-line-3'><span class='reaction-buttons'>
<table border='0' cellpadding='0' cellspacing='0' width='100%'><tr>
<td class='reactions-label-cell' nowrap='nowrap' valign='top' width='1%'>
<span class='reactions-label'>
Reactions:</span>&#160;</td>
<td><iframe allowtransparency='true' class='reactions-iframe' frameborder='0' name='reactions' scrolling='no' src='//www.blogger.com/blog-post-reactions.g?options=%5Binteresting,+great,+bad%5D&amp;textColor=%23000000#http://krams915.blogspot.com/2011/01/spring-security-mvc-using-embedded-ldap.html'></iframe></td>
</tr></table>
</span>
</div>
</div>
</div>
<div class='comments' id='comments'>
<a name='comments'></a>
<h4>8 comments:</h4>
<div class='comments-content'>
<script async='async' src='//www.blogblog.com/dynamicviews/4224c15c4e7c9321/js/comments.js' type='text/javascript'></script>
<script type='text/javascript'>
    (function() {
      var items = [{'id': '3136599916104765440', 'body': 'Hello !\74br /\76Excuses me for my English.\74br /\76Your tutorial is very interesting , but i don\46#39;t understand something about users password why do we use \46quot;pass\46quot; instead of \46quot;cGFzcw\75\75\46quot; as mentionned in .ldif file ?\74br /\76Thank you very much. \74br /\76\74br /\76rsoubeiga', 'timestamp': '1300093019349', 'permalink': 'http://krams915.blogspot.com/2011/01/spring-security-mvc-using-embedded-ldap.html?showComment\0751300093019349#c3136599916104765440', 'author': {'name': 'Anonymous', 'avatarUrl': 'http://img1.blogblog.com/img/blank.gif', 'profileUrl': ''}, 'displayTime': 'March 14, 2011 at 4:56 PM', 'deleteclass': 'item-control blog-admin pid-938639051'}, {'id': '3961142017952967288', 'body': '@rsoubeiga, I believe cGFzcw\75\75 is the encrypted form of the password \46quot;pass\46quot;.', 'timestamp': '1300146223948', 'permalink': 'http://krams915.blogspot.com/2011/01/spring-security-mvc-using-embedded-ldap.html?showComment\0751300146223948#c3961142017952967288', 'author': {'name': 'krams', 'avatarUrl': 'http://img2.blogblog.com/img/b16-rounded.gif', 'profileUrl': 'http://www.blogger.com/profile/07683739886053674459'}, 'displayTime': 'March 15, 2011 at 7:43 AM', 'deleteclass': 'item-control blog-admin pid-975706293'}, {'id': '7716027099068459770', 'body': 'I have used used your ldif file and used the SecurityNamespace congiguration. and  I get null pointer exception. \74br /\76\74br /\76  \74br /\76  \74br /\76  \74br /\76\74br /\76ERROR 2011-05-11 16:06:16,355 [main] - Server startup failed \74br /\76java.lang.NullPointerException\74br /\76 at org.apache.directory.server.core.schema.DefaultSchemaService.initialize(DefaultSchemaService.java:380)\74br /\76 at org.apache.directory.server.core.DefaultDirectoryService.initialize(DefaultDirectoryService.java:1425)\74br /\76 at org.apache.directory.server.core.DefaultDirectoryService.startup(DefaultDirectoryService.java:907)\74br /\76 at org.springframework.security.ldap.server.ApacheDSContainer.start(ApacheDSContainer.java:160)\74br /\76 at org.springframework.security.ldap.server.ApacheDSContainer.afterPropertiesSet(ApacheDSContainer.java:113)\74br /\76 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1479)\74br /\76 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)\74br /\76 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)\74br /\76 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)\74br /\76 at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295)\74br /\76 at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)\74br /\76 at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292)\74br /\76 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)\74br /\76 at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)\74br /\76 at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:900)\74br /\76 at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:455)\74br /\76 at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:294)\74br /\76 at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:215)\74br /\76 at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)\74br /\76 at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3934)\74br /\76 at org.apache.catalina.core.StandardContext.start(StandardContext.java:4429)\74br /\76 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)\74br /\76 at org.apache.catalina.core.StandardHost.start(StandardHost.java:741)\74br /\76 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)\74br /\76 at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)\74br /\76 at org.apache.catalina.core.StandardService.start(StandardService.java:516)\74br /\76 at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)\74br /\76 at org.apache.catalina.startup.Catalina.start(Catalina.java:587)\74br /\76 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\74br /\76 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)\74br /\76 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)\74br /\76 at java.lang.reflect.Method.invoke(Method.java:597)\74br /\76 at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:290)\74br /\76 at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:415)\74br /\76\74br /\76\74br /\76could you please help.', 'timestamp': '1305148136751', 'permalink': 'http://krams915.blogspot.com/2011/01/spring-security-mvc-using-embedded-ldap.html?showComment\0751305148136751#c7716027099068459770', 'author': {'name': 'Anonymous', 'avatarUrl': 'http://img1.blogblog.com/img/blank.gif', 'profileUrl': ''}, 'displayTime': 'May 12, 2011 at 5:08 AM', 'deleteclass': 'item-control blog-admin pid-1018936594'}, {'id': '2556712273788114459', 'body': 'The Tutorial might work until ApacheDS 1.5.5\74br /\76\74br /\76The NullpointerException occurs since ApacheDS 1.5.6.', 'timestamp': '1312190373714', 'permalink': 'http://krams915.blogspot.com/2011/01/spring-security-mvc-using-embedded-ldap.html?showComment\0751312190373714#c2556712273788114459', 'author': {'name': 'Anonymous', 'avatarUrl': 'http://img1.blogblog.com/img/blank.gif', 'profileUrl': ''}, 'displayTime': 'August 1, 2011 at 5:19 PM', 'deleteclass': 'item-control blog-admin pid-94194746'}, {'id': '2697248755386922813', 'body': 'You will find a tutorial for Version 1.5.7 at\74br /\76http://svn.apache.org/repos/asf/directory/documentation/samples/trunk/embedded-sample', 'timestamp': '1312196375703', 'permalink': 'http://krams915.blogspot.com/2011/01/spring-security-mvc-using-embedded-ldap.html?showComment\0751312196375703#c2697248755386922813', 'author': {'name': 'Anonymous', 'avatarUrl': 'http://img1.blogblog.com/img/blank.gif', 'profileUrl': ''}, 'displayTime': 'August 1, 2011 at 6:59 PM', 'deleteclass': 'item-control blog-admin pid-94194746'}, {'id': '4011946272121299627', 'body': 'Note that the UnboundID LDAP SDK supports creating an in-memory directory server. This may be more effective.', 'timestamp': '1318338843885', 'permalink': 'http://krams915.blogspot.com/2011/01/spring-security-mvc-using-embedded-ldap.html?showComment\0751318338843885#c4011946272121299627', 'author': {'name': 'ff1959', 'avatarUrl': 'http://img1.blogblog.com/img/openid16-rounded.gif', 'profileUrl': 'http://ff1959.wordpress.com/'}, 'displayTime': 'October 11, 2011 at 9:14 PM', 'deleteclass': 'item-control blog-admin pid-644967941'}, {'id': '7707217223744895744', 'body': '@ff1959, thanks for the info. That project looks really interesting.', 'timestamp': '1318418492868', 'permalink': 'http://krams915.blogspot.com/2011/01/spring-security-mvc-using-embedded-ldap.html?showComment\0751318418492868#c7707217223744895744', 'author': {'name': 'krams', 'avatarUrl': 'http://img2.blogblog.com/img/b16-rounded.gif', 'profileUrl': 'http://www.blogger.com/profile/07683739886053674459'}, 'displayTime': 'October 12, 2011 at 7:21 PM', 'deleteclass': 'item-control blog-admin pid-975706293'}, {'id': '2497173377415733869', 'body': 'Spring Security provides special support for \74a href\75\42http://javarevisited.blogspot.com/2011/11/ldap-authentication-active-directory.html\42 rel\75\42nofollow\42\76LDAP authentication on Active directory\74/a\76 which also handles partial list exception. Its completely declarative and most easy.', 'timestamp': '1332820992272', 'permalink': 'http://krams915.blogspot.com/2011/01/spring-security-mvc-using-embedded-ldap.html?showComment\0751332820992272#c2497173377415733869', 'author': {'name': 'preparedStatement java', 'avatarUrl': 'http://img1.blogblog.com/img/blank.gif', 'profileUrl': 'http://javarevisited.blogspot.com/2012/03/why-use-preparedstatement-in-java-jdbc.html'}, 'displayTime': 'March 27, 2012 at 12:03 PM', 'deleteclass': 'item-control blog-admin pid-1798198722'}];
      var msgs = {'loadMore': 'Load more...', 'loading': 'Loading...', 'loaded': 'No more!', 'addComment': 'Add comment', 'reply': 'Reply', 'delete': 'Delete'};
      var config = {'blogId': '5097100801581543528', 'postId': '4316534791643282912', 'feed': 'http://krams915.blogspot.com/feeds/4316534791643282912/comments/default', 'authorName': 'Mark Serrano', 'authorUrl': 'http://www.blogger.com/profile/07683739886053674459', 'baseUri': 'http://www.blogger.com', 'maxThreadDepth': 2};

// <![CDATA[
      var cursor = null;
      if (items && items.length > 0) {
        cursor = parseInt(items[items.length - 1].timestamp) + 1;
      }

      var bodyFromEntry = function(entry) {
        if (entry.gd$extendedProperty) {
          for (var k in entry.gd$extendedProperty) {
            if (entry.gd$extendedProperty[k].name == 'blogger.contentRemoved') {
              return '<span class="deleted-comment">' + entry.content.$t + '</span>';
            }
          }
        }
        return entry.content.$t;
      }

      var parse = function(data) {
        cursor = null;
        var comments = [];
        if (data && data.feed && data.feed.entry) {
          for (var i = 0, entry; entry = data.feed.entry[i]; i++) {
            var comment = {};
            // comment ID, parsed out of the original id format
            var id = /blog-(\d+).post-(\d+)/.exec(entry.id.$t);
            comment.id = id ? id[2] : null;
            comment.body = bodyFromEntry(entry);
            comment.timestamp = Date.parse(entry.published.$t) + '';
            if (entry.author && entry.author.constructor === Array) {
              var auth = entry.author[0];
              if (auth) {
                comment.author = {
                  name: (auth.name ? auth.name.$t : undefined),
                  profileUrl: (auth.uri ? auth.uri.$t : undefined),
                  avatarUrl: (auth.gd$image ? auth.gd$image.src : undefined)
                };
              }
            }
            if (entry.link) {
              if (entry.link[2]) {
                comment.link = comment.permalink = entry.link[2].href;
              }
              if (entry.link[3]) {
                var pid = /.*comments\/default\/(\d+)\?.*/.exec(entry.link[3].href);
                if (pid && pid[1]) {
                  comment.parentId = pid[1];
                }
              }
            }
            comment.deleteclass = 'item-control blog-admin';
            if (entry.gd$extendedProperty) {
              for (var k in entry.gd$extendedProperty) {
                if (entry.gd$extendedProperty[k].name == 'blogger.itemClass') {
                  comment.deleteclass += ' ' + entry.gd$extendedProperty[k].value;
                } else if (entry.gd$extendedProperty[k].name == 'blogger.displayTime') {
                  comment.displayTime = entry.gd$extendedProperty[k].value;
                }
              }
            }
            comments.push(comment);
          }
        }
        return comments;
      };

      var paginator = function(callback) {
        if (hasMore()) {
          var url = config.feed + '?alt=json&v=2&orderby=published&reverse=false&max-results=50';
          if (cursor) {
            url += '&published-min=' + new Date(cursor).toISOString();
          }
          window.bloggercomments = function(data) {
            var parsed = parse(data);
            cursor = parsed.length < 50 ? null
                : parseInt(parsed[parsed.length - 1].timestamp) + 1
            callback(parsed);
            window.bloggercomments = null;
          }
          url += '&callback=bloggercomments';
          var script = document.createElement('script');
          script.type = 'text/javascript';
          script.src = url;
          document.getElementsByTagName('head')[0].appendChild(script);
        }
      };
      var hasMore = function() {
        return !!cursor;
      };
      var getMeta = function(key, comment) {
        if ('iswriter' == key) {
          var matches = !!comment.author
              && comment.author.name == config.authorName
              && comment.author.profileUrl == config.authorUrl;
          return matches ? 'true' : '';
        } else if ('deletelink' == key) {
          return config.baseUri + '/delete-comment.g?blogID='
               + config.blogId + '&postID=' + comment.id;
        } else if ('deleteclass' == key) {
          return comment.deleteclass;
        }
        return '';
      };

      var replybox = null;
      var replyUrlParts = null;
      var replyParent = undefined;

      var onReply = function(commentId, domId) {
        if (replybox == null) {
          // lazily cache replybox, and adjust to suit this style:
          replybox = document.getElementById('comment-editor');
          if (replybox != null) {
            replybox.height = '250px';
            replybox.style.display = 'block';
            replyUrlParts = replybox.src.split('#');
          }
        }
        if (replybox && (commentId !== replyParent)) {
          document.getElementById(domId).insertBefore(replybox, null);
          replybox.src = replyUrlParts[0]
              + (commentId ? '&parentID=' + commentId : '')
              + '#' + replyUrlParts[1];
          replyParent = commentId;
        }
      };

      var hash = (window.location.hash || '#').substring(1);
      var startThread, targetComment;
      if (/^comment-form_/.test(hash)) {
        startThread = hash.substring('comment-form_'.length);
      } else if (/^c[0-9]+$/.test(hash)) {
        targetComment = hash.substring(1);
      }

      // Configure commenting API:
      var configJso = {
        'maxDepth': config.maxThreadDepth
      };
      var provider = {
        'id': config.postId,
        'data': items,
        'loadNext': paginator,
        'hasMore': hasMore,
        'getMeta': getMeta,
        'onReply': onReply,
        'rendered': true,
        'initComment': targetComment,
        'initReplyThread': startThread,
        'config': configJso,
        'messages': msgs
      };

      var render = function() {
        if (window.goog && window.goog.comments) {
          var holder = document.getElementById('comment-holder');
          window.goog.comments.render(holder, provider);
        }
      };

      // render now, or queue to render when library loads:
      if (window.goog && window.goog.comments) {
        render();
      } else {
        window.goog = window.goog || {};
        window.goog.comments = window.goog.comments || {};
        window.goog.comments.loadQueue = window.goog.comments.loadQueue || [];
        window.goog.comments.loadQueue.push(render);
      }
    })();
// ]]>
</script>
<div id='comment-holder'>
<div id='bc_0_9C' kind='c'><div id='bc_0_9CT'><div id='bc_0_8T' class='comment-thread' kind='r'  t='0' u='0'><ol id='bc_0_8TB'><li id='bc_0_0B' class='comment' kind='b'><div class='avatar-image-container'><img src='http://img1.blogblog.com/img/anon36.png'></img></div><div id='c3136599916104765440' class='comment-block'><div id='bc_0_0M' class='comment-header' kind='m'><cite class='user'>Anonymous</cite><span class='icon user'></span><span class='datetime secondary-text'><a rel='nofollow' href='http://krams915.blogspot.com/2011/01/spring-security-mvc-using-embedded-ldap.html?showComment=1300093019349#c3136599916104765440'>March 14, 2011 at 4:56 PM</a></span></div><p id='bc_0_0MC' class='comment-content'>Hello !<br />Excuses me for my English.<br />Your tutorial is very interesting , but i don&#39;t understand something about users password why do we use &quot;pass&quot; instead of &quot;cGFzcw==&quot; as mentionned in .ldif file ?<br />Thank you very much. <br /><br />rsoubeiga</p><span id='bc_0_0MN' class='comment-actions secondary-text' kind='m'><a kind='i' href='javascript:;' target='_self' o='r'>Reply</a><span class='item-control blog-admin pid-938639051'><a o='d' target='_self' href='http://www.blogger.com/delete-comment.g?blogID=5097100801581543528&amp;postID=3136599916104765440'>Delete</a></span></span></div><div id='bc_0_0BR' class='comment-replies'></div><div id='bc_0_0B_box' class='comment-replybox-single'></div></li><li id='bc_0_1B' class='comment' kind='b'><div class='avatar-image-container'><img src='http://img2.blogblog.com/img/b36-rounded.png'></img></div><div id='c3961142017952967288' class='comment-block'><div id='bc_0_1M' class='comment-header' kind='m'><cite class='user'><a rel='nofollow' href='http://www.blogger.com/profile/07683739886053674459'>krams</a></cite><span class='icon user'></span><span class='datetime secondary-text'><a rel='nofollow' href='http://krams915.blogspot.com/2011/01/spring-security-mvc-using-embedded-ldap.html?showComment=1300146223948#c3961142017952967288'>March 15, 2011 at 7:43 AM</a></span></div><p id='bc_0_1MC' class='comment-content'>@rsoubeiga, I believe cGFzcw== is the encrypted form of the password &quot;pass&quot;.</p><span id='bc_0_1MN' class='comment-actions secondary-text' kind='m'><a kind='i' href='javascript:;' target='_self' o='r'>Reply</a><span class='item-control blog-admin pid-975706293'><a o='d' target='_self' href='http://www.blogger.com/delete-comment.g?blogID=5097100801581543528&amp;postID=3961142017952967288'>Delete</a></span></span></div><div id='bc_0_1BR' class='comment-replies'></div><div id='bc_0_1B_box' class='comment-replybox-single'></div></li><li id='bc_0_2B' class='comment' kind='b'><div class='avatar-image-container'><img src='http://img1.blogblog.com/img/anon36.png'></img></div><div id='c7716027099068459770' class='comment-block'><div id='bc_0_2M' class='comment-header' kind='m'><cite class='user'>Anonymous</cite><span class='icon user'></span><span class='datetime secondary-text'><a rel='nofollow' href='http://krams915.blogspot.com/2011/01/spring-security-mvc-using-embedded-ldap.html?showComment=1305148136751#c7716027099068459770'>May 12, 2011 at 5:08 AM</a></span></div><p id='bc_0_2MC' class='comment-content'>I have used used your ldif file and used the SecurityNamespace congiguration. and  I get null pointer exception. <br /><br />  <br />  <br />  <br /><br />ERROR 2011-05-11 16:06:16,355 [main] - Server startup failed <br />java.lang.NullPointerException<br /> at org.apache.directory.server.core.schema.DefaultSchemaService.initialize(DefaultSchemaService.java:380)<br /> at org.apache.directory.server.core.DefaultDirectoryService.initialize(DefaultDirectoryService.java:1425)<br /> at org.apache.directory.server.core.DefaultDirectoryService.startup(DefaultDirectoryService.java:907)<br /> at org.springframework.security.ldap.server.ApacheDSContainer.start(ApacheDSContainer.java:160)<br /> at org.springframework.security.ldap.server.ApacheDSContainer.afterPropertiesSet(ApacheDSContainer.java:113)<br /> at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1479)<br /> at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)<br /> at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)<br /> at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)<br /> at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295)<br /> at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)<br /> at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292)<br /> at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)<br /> at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)<br /> at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:900)<br /> at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:455)<br /> at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:294)<br /> at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:215)<br /> at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)<br /> at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3934)<br /> at org.apache.catalina.core.StandardContext.start(StandardContext.java:4429)<br /> at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)<br /> at org.apache.catalina.core.StandardHost.start(StandardHost.java:741)<br /> at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)<br /> at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)<br /> at org.apache.catalina.core.StandardService.start(StandardService.java:516)<br /> at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)<br /> at org.apache.catalina.startup.Catalina.start(Catalina.java:587)<br /> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br /> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br /> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br /> at java.lang.reflect.Method.invoke(Method.java:597)<br /> at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:290)<br /> at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:415)<br /><br /><br />could you please help.</p><span id='bc_0_2MN' class='comment-actions secondary-text' kind='m'><a kind='i' href='javascript:;' target='_self' o='r'>Reply</a><span class='item-control blog-admin pid-1018936594'><a o='d' target='_self' href='http://www.blogger.com/delete-comment.g?blogID=5097100801581543528&amp;postID=7716027099068459770'>Delete</a></span></span></div><div id='bc_0_2BR' class='comment-replies'></div><div id='bc_0_2B_box' class='comment-replybox-single'></div></li><li id='bc_0_3B' class='comment' kind='b'><div class='avatar-image-container'><img src='http://img1.blogblog.com/img/anon36.png'></img></div><div id='c2556712273788114459' class='comment-block'><div id='bc_0_3M' class='comment-header' kind='m'><cite class='user'>Anonymous</cite><span class='icon user'></span><span class='datetime secondary-text'><a rel='nofollow' href='http://krams915.blogspot.com/2011/01/spring-security-mvc-using-embedded-ldap.html?showComment=1312190373714#c2556712273788114459'>August 1, 2011 at 5:19 PM</a></span></div><p id='bc_0_3MC' class='comment-content'>The Tutorial might work until ApacheDS 1.5.5<br /><br />The NullpointerException occurs since ApacheDS 1.5.6.</p><span id='bc_0_3MN' class='comment-actions secondary-text' kind='m'><a kind='i' href='javascript:;' target='_self' o='r'>Reply</a><span class='item-control blog-admin pid-94194746'><a o='d' target='_self' href='http://www.blogger.com/delete-comment.g?blogID=5097100801581543528&amp;postID=2556712273788114459'>Delete</a></span></span></div><div id='bc_0_3BR' class='comment-replies'></div><div id='bc_0_3B_box' class='comment-replybox-single'></div></li><li id='bc_0_4B' class='comment' kind='b'><div class='avatar-image-container'><img src='http://img1.blogblog.com/img/anon36.png'></img></div><div id='c2697248755386922813' class='comment-block'><div id='bc_0_4M' class='comment-header' kind='m'><cite class='user'>Anonymous</cite><span class='icon user'></span><span class='datetime secondary-text'><a rel='nofollow' href='http://krams915.blogspot.com/2011/01/spring-security-mvc-using-embedded-ldap.html?showComment=1312196375703#c2697248755386922813'>August 1, 2011 at 6:59 PM</a></span></div><p id='bc_0_4MC' class='comment-content'>You will find a tutorial for Version 1.5.7 at<br />http://svn.apache.org/repos/asf/directory/documentation/samples/trunk/embedded-sample</p><span id='bc_0_4MN' class='comment-actions secondary-text' kind='m'><a kind='i' href='javascript:;' target='_self' o='r'>Reply</a><span class='item-control blog-admin pid-94194746'><a o='d' target='_self' href='http://www.blogger.com/delete-comment.g?blogID=5097100801581543528&amp;postID=2697248755386922813'>Delete</a></span></span></div><div id='bc_0_4BR' class='comment-replies'></div><div id='bc_0_4B_box' class='comment-replybox-single'></div></li><li id='bc_0_5B' class='comment' kind='b'><div class='avatar-image-container'><img src='http://img1.blogblog.com/img/openid36-rounded.png'></img></div><div id='c4011946272121299627' class='comment-block'><div id='bc_0_5M' class='comment-header' kind='m'><cite class='user'><a rel='nofollow' href='http://ff1959.wordpress.com/'>ff1959</a></cite><span class='icon user'></span><span class='datetime secondary-text'><a rel='nofollow' href='http://krams915.blogspot.com/2011/01/spring-security-mvc-using-embedded-ldap.html?showComment=1318338843885#c4011946272121299627'>October 11, 2011 at 9:14 PM</a></span></div><p id='bc_0_5MC' class='comment-content'>Note that the UnboundID LDAP SDK supports creating an in-memory directory server. This may be more effective.</p><span id='bc_0_5MN' class='comment-actions secondary-text' kind='m'><a kind='i' href='javascript:;' target='_self' o='r'>Reply</a><span class='item-control blog-admin pid-644967941'><a o='d' target='_self' href='http://www.blogger.com/delete-comment.g?blogID=5097100801581543528&amp;postID=4011946272121299627'>Delete</a></span></span></div><div id='bc_0_5BR' class='comment-replies'></div><div id='bc_0_5B_box' class='comment-replybox-single'></div></li><li id='bc_0_6B' class='comment' kind='b'><div class='avatar-image-container'><img src='http://img2.blogblog.com/img/b36-rounded.png'></img></div><div id='c7707217223744895744' class='comment-block'><div id='bc_0_6M' class='comment-header' kind='m'><cite class='user'><a rel='nofollow' href='http://www.blogger.com/profile/07683739886053674459'>krams</a></cite><span class='icon user'></span><span class='datetime secondary-text'><a rel='nofollow' href='http://krams915.blogspot.com/2011/01/spring-security-mvc-using-embedded-ldap.html?showComment=1318418492868#c7707217223744895744'>October 12, 2011 at 7:21 PM</a></span></div><p id='bc_0_6MC' class='comment-content'>@ff1959, thanks for the info. That project looks really interesting.</p><span id='bc_0_6MN' class='comment-actions secondary-text' kind='m'><a kind='i' href='javascript:;' target='_self' o='r'>Reply</a><span class='item-control blog-admin pid-975706293'><a o='d' target='_self' href='http://www.blogger.com/delete-comment.g?blogID=5097100801581543528&amp;postID=7707217223744895744'>Delete</a></span></span></div><div id='bc_0_6BR' class='comment-replies'></div><div id='bc_0_6B_box' class='comment-replybox-single'></div></li><li id='bc_0_7B' class='comment' kind='b'><div class='avatar-image-container'><img src='http://img1.blogblog.com/img/anon36.png'></img></div><div id='c2497173377415733869' class='comment-block'><div id='bc_0_7M' class='comment-header' kind='m'><cite class='user'><a rel='nofollow' href='http://javarevisited.blogspot.com/2012/03/why-use-preparedstatement-in-java-jdbc.html'>preparedStatement java</a></cite><span class='icon user'></span><span class='datetime secondary-text'><a rel='nofollow' href='http://krams915.blogspot.com/2011/01/spring-security-mvc-using-embedded-ldap.html?showComment=1332820992272#c2497173377415733869'>March 27, 2012 at 12:03 PM</a></span></div><p id='bc_0_7MC' class='comment-content'>Spring Security provides special support for <a href="http://javarevisited.blogspot.com/2011/11/ldap-authentication-active-directory.html" rel="nofollow">LDAP authentication on Active directory</a> which also handles partial list exception. Its completely declarative and most easy.</p><span id='bc_0_7MN' class='comment-actions secondary-text' kind='m'><a kind='i' href='javascript:;' target='_self' o='r'>Reply</a><span class='item-control blog-admin pid-1798198722'><a o='d' target='_self' href='http://www.blogger.com/delete-comment.g?blogID=5097100801581543528&amp;postID=2497173377415733869'>Delete</a></span></span></div><div id='bc_0_7BR' class='comment-replies'></div><div id='bc_0_7B_box' class='comment-replybox-single'></div></li></ol><div id='bc_0_8I' class='continue' kind='ci'><a href='javascript:;' target='_self'>Add comment</a></div><div id='bc_0_8T_box' class='comment-replybox-thread'></div><div id='bc_0_8L' class='loadmore loaded' kind='rb'><a href='javascript:;' target='_self'>Load more...</a></div></div></div></div>
</div>
</div>
<p class='comment-footer'>
<div class='comment-form'>
<a name='comment-form'></a>
<p>
</p>
<a href='//www.blogger.com/comment-iframe.g?blogID=5097100801581543528&postID=4316534791643282912' id='comment-editor-src'></a>
<iframe allowtransparency='true' class='blogger-iframe-colorize blogger-comment-from-post' frameborder='0' height='410' id='comment-editor' name='comment-editor' src='' width='100%'></iframe>
<script type="text/javascript" src="https://www.blogger.com/static/v1/jsbin/2373033623-comment_from_post_iframe.js"></script>
<script type='text/javascript'>
      BLOG_CMT_createIframe('//www.blogger.com/rpc_relay.html', '15868765994367702964');
    </script>
</div>
</p>
<div id='backlinks-container'>
<div id='Blog1_backlinks-container'>
</div>
</div>
</div>
</div>

        </div></div>
      
<!-- google_ad_section_end -->
</div>
<div class='blog-pager' id='blog-pager'>
<span id='blog-pager-newer-link'>
<a class='blog-pager-newer-link' href='http://krams915.blogspot.hk/2011/01/spring-mvc-3-hibernate-annotations.html' id='Blog1_blog-pager-newer-link' title='Newer Post'>Newer Post</a>
</span>
<span id='blog-pager-older-link'>
<a class='blog-pager-older-link' href='http://krams915.blogspot.hk/2011/01/spring-and-gwt-security-via-spring.html' id='Blog1_blog-pager-older-link' title='Older Post'>Older Post</a>
</span>
<a class='home-link' href='http://krams915.blogspot.hk/'>Home</a>
</div>
<div class='clear'></div>
<div class='post-feeds'>
<div class='feed-links'>
Subscribe to:
<a class='feed-link' href='http://krams915.blogspot.com/feeds/4316534791643282912/comments/default' target='_blank' type='application/atom+xml'>Post Comments (Atom)</a>
</div>
</div>
<script type="text/javascript">window.___gcfg = {'lang': 'en'};</script>
</div><div class='widget HTML' id='HTML64'>
<div class='widget-content'>

			<script type="text/javascript"><!--
			google_ad_client="pub-1584650458204427";
			google_ad_host="pub-1556223355139109";
			google_ad_width=468;
			google_ad_height=60;
			google_ad_format="468x60_as";
			google_ad_type="text_image";
			google_ad_host_channel="00000";
			google_color_border="000000";
			google_color_bg="000000";
			google_color_link="333333";
			google_color_url="003366";
			google_color_text="666666";
			//--></script>
			<script type="text/javascript"
			  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
			</script>
			
</div>
<div class='clear'></div>
<span class='widget-item-control'>
<span class='item-control blog-admin'>
<a class='quickedit' href='//www.blogger.com/rearrange?blogID=5097100801581543528&widgetType=HTML&widgetId=HTML64&action=editWidget&sectionId=main' onclick='return _WidgetManager._PopupConfig(document.getElementById("HTML64"));' target='configHTML64' title='Edit'>
<img alt='' height='18' src='http://img1.blogblog.com/img/icon18_wrench_allbkg.png' width='18'/>
</a>
</span>
</span>
<div class='clear'></div>
</div></div>
</div>
</div>
<div class='column-left-outer'>
<div class='column-left-inner'>
<aside>
</aside>
</div>
</div>
<div class='column-right-outer'>
<div class='column-right-inner'>
<aside>
<div class='sidebar section' id='sidebar-right-1'><div class='widget HTML' id='HTML123'>
<div class='widget-content'>
    <script type="text/javascript"><!--
google_ad_client="pub-1584650458204427";
google_ad_host="pub-1556223355139109";
google_ad_width=300;
google_ad_height=250;
google_ad_format="300x250_as";
google_ad_type="text_image";
google_ad_host_channel="00000";
google_color_border="000000";
google_color_bg="000000";
google_color_link="BCBEB0";
google_color_url="C0C0C0";
google_color_text="FFFFFF";
//--></script>

<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
  </div>
<div class='clear'></div>
<span class='widget-item-control'>
<span class='item-control blog-admin'>
<a class='quickedit' href='//www.blogger.com/rearrange?blogID=5097100801581543528&widgetType=HTML&widgetId=HTML123&action=editWidget&sectionId=sidebar-right-1' onclick='return _WidgetManager._PopupConfig(document.getElementById("HTML123"));' target='configHTML123' title='Edit'>
<img alt='' height='18' src='http://img1.blogblog.com/img/icon18_wrench_allbkg.png' width='18'/>
</a>
</span>
</span>
<div class='clear'></div>
</div><div class='widget Label' id='Label1'>
<h2>Labels</h2>
<div class='widget-content cloud-label-widget-content'>
<span class='label-size label-size-5'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/Spring'>Spring</a>
<span class='label-count' dir='ltr'>(133)</span>
</span>
<span class='label-size label-size-5'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/MVC'>MVC</a>
<span class='label-count' dir='ltr'>(87)</span>
</span>
<span class='label-size label-size-4'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/Data'>Data</a>
<span class='label-count' dir='ltr'>(38)</span>
</span>
<span class='label-size label-size-4'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/JPA'>JPA</a>
<span class='label-count' dir='ltr'>(32)</span>
</span>
<span class='label-size label-size-4'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/AJAX'>AJAX</a>
<span class='label-count' dir='ltr'>(28)</span>
</span>
<span class='label-size label-size-4'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/Security'>Security</a>
<span class='label-count' dir='ltr'>(28)</span>
</span>
<span class='label-size label-size-4'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/MongoDB'>MongoDB</a>
<span class='label-count' dir='ltr'>(26)</span>
</span>
<span class='label-size label-size-4'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/3'>3</a>
<span class='label-count' dir='ltr'>(24)</span>
</span>
<span class='label-size label-size-3'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/JQuery'>JQuery</a>
<span class='label-count' dir='ltr'>(19)</span>
</span>
<span class='label-size label-size-3'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/JqGrid'>JqGrid</a>
<span class='label-count' dir='ltr'>(19)</span>
</span>
<span class='label-size label-size-3'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/Jasper'>Jasper</a>
<span class='label-count' dir='ltr'>(18)</span>
</span>
<span class='label-size label-size-3'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/CRUD'>CRUD</a>
<span class='label-count' dir='ltr'>(13)</span>
</span>
<span class='label-size label-size-3'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/Mongo'>Mongo</a>
<span class='label-count' dir='ltr'>(13)</span>
</span>
<span class='label-size label-size-3'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/WS'>WS</a>
<span class='label-count' dir='ltr'>(11)</span>
</span>
<span class='label-size label-size-3'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/DynamicJasper'>DynamicJasper</a>
<span class='label-count' dir='ltr'>(7)</span>
</span>
<span class='label-size label-size-3'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/GWT'>GWT</a>
<span class='label-count' dir='ltr'>(7)</span>
</span>
<span class='label-size label-size-3'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/RabbitMQ'>RabbitMQ</a>
<span class='label-count' dir='ltr'>(7)</span>
</span>
<span class='label-size label-size-2'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/Ehcache'>Ehcache</a>
<span class='label-count' dir='ltr'>(6)</span>
</span>
<span class='label-size label-size-2'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/GWTHandler'>GWTHandler</a>
<span class='label-count' dir='ltr'>(6)</span>
</span>
<span class='label-size label-size-2'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/NoSQL'>NoSQL</a>
<span class='label-count' dir='ltr'>(6)</span>
</span>
<span class='label-size label-size-2'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/Redis'>Redis</a>
<span class='label-count' dir='ltr'>(6)</span>
</span>
<span class='label-size label-size-2'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/iReport'>iReport</a>
<span class='label-count' dir='ltr'>(6)</span>
</span>
<span class='label-size label-size-2'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/3.1.'>3.1.</a>
<span class='label-count' dir='ltr'>(5)</span>
</span>
<span class='label-size label-size-2'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/ACL'>ACL</a>
<span class='label-count' dir='ltr'>(5)</span>
</span>
<span class='label-size label-size-2'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/Spring%20Data'>Spring Data</a>
<span class='label-count' dir='ltr'>(5)</span>
</span>
<span class='label-size label-size-2'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/Batch'>Batch</a>
<span class='label-count' dir='ltr'>(4)</span>
</span>
<span class='label-size label-size-2'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/XML'>XML</a>
<span class='label-count' dir='ltr'>(4)</span>
</span>
<span class='label-size label-size-2'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/web%20service'>web service</a>
<span class='label-count' dir='ltr'>(4)</span>
</span>
<span class='label-size label-size-2'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/Balancer'>Balancer</a>
<span class='label-count' dir='ltr'>(3)</span>
</span>
<span class='label-size label-size-2'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/Haproxy'>Haproxy</a>
<span class='label-count' dir='ltr'>(3)</span>
</span>
<span class='label-size label-size-2'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/LDAP'>LDAP</a>
<span class='label-count' dir='ltr'>(3)</span>
</span>
<span class='label-size label-size-2'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/OpenID'>OpenID</a>
<span class='label-count' dir='ltr'>(3)</span>
</span>
<span class='label-size label-size-2'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/Scheduling'>Scheduling</a>
<span class='label-count' dir='ltr'>(3)</span>
</span>
<span class='label-size label-size-2'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/Access'>Access</a>
<span class='label-count' dir='ltr'>(2)</span>
</span>
<span class='label-size label-size-2'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/JSON'>JSON</a>
<span class='label-count' dir='ltr'>(2)</span>
</span>
<span class='label-size label-size-2'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/MySQL'>MySQL</a>
<span class='label-count' dir='ltr'>(2)</span>
</span>
<span class='label-size label-size-2'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/ORM'>ORM</a>
<span class='label-count' dir='ltr'>(2)</span>
</span>
<span class='label-size label-size-2'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/Task'>Task</a>
<span class='label-count' dir='ltr'>(2)</span>
</span>
<span class='label-size label-size-1'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/ACEGI'>ACEGI</a>
<span class='label-count' dir='ltr'>(1)</span>
</span>
<span class='label-size label-size-1'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/CAPTCHA'>CAPTCHA</a>
<span class='label-count' dir='ltr'>(1)</span>
</span>
<span class='label-size label-size-1'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/DWR'>DWR</a>
<span class='label-count' dir='ltr'>(1)</span>
</span>
<span class='label-size label-size-1'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/HQL'>HQL</a>
<span class='label-count' dir='ltr'>(1)</span>
</span>
<span class='label-size label-size-1'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/JSP'>JSP</a>
<span class='label-count' dir='ltr'>(1)</span>
</span>
<span class='label-size label-size-1'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/Jackson'>Jackson</a>
<span class='label-count' dir='ltr'>(1)</span>
</span>
<span class='label-size label-size-1'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/Java'>Java</a>
<span class='label-count' dir='ltr'>(1)</span>
</span>
<span class='label-size label-size-1'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/Javascript'>Javascript</a>
<span class='label-count' dir='ltr'>(1)</span>
</span>
<span class='label-size label-size-1'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/POI'>POI</a>
<span class='label-count' dir='ltr'>(1)</span>
</span>
<span class='label-size label-size-1'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/Persistence'>Persistence</a>
<span class='label-count' dir='ltr'>(1)</span>
</span>
<span class='label-size label-size-1'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/Quartz'>Quartz</a>
<span class='label-count' dir='ltr'>(1)</span>
</span>
<span class='label-size label-size-1'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/REST'>REST</a>
<span class='label-count' dir='ltr'>(1)</span>
</span>
<span class='label-size label-size-1'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/RestTemplate'>RestTemplate</a>
<span class='label-count' dir='ltr'>(1)</span>
</span>
<span class='label-size label-size-1'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/SQL'>SQL</a>
<span class='label-count' dir='ltr'>(1)</span>
</span>
<span class='label-size label-size-1'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/Scheduler'>Scheduler</a>
<span class='label-count' dir='ltr'>(1)</span>
</span>
<span class='label-size label-size-1'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/Tiles'>Tiles</a>
<span class='label-count' dir='ltr'>(1)</span>
</span>
<span class='label-size label-size-1'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/messaging'>messaging</a>
<span class='label-count' dir='ltr'>(1)</span>
</span>
<span class='label-size label-size-1'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/myOpenID'>myOpenID</a>
<span class='label-count' dir='ltr'>(1)</span>
</span>
<span class='label-size label-size-1'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/reCAPTCHA'>reCAPTCHA</a>
<span class='label-count' dir='ltr'>(1)</span>
</span>
<span class='label-size label-size-1'>
<a dir='ltr' href='http://krams915.blogspot.hk/search/label/soap'>soap</a>
<span class='label-count' dir='ltr'>(1)</span>
</span>
<div class='clear'></div>
<span class='widget-item-control'>
<span class='item-control blog-admin'>
<a class='quickedit' href='//www.blogger.com/rearrange?blogID=5097100801581543528&widgetType=Label&widgetId=Label1&action=editWidget&sectionId=sidebar-right-1' onclick='return _WidgetManager._PopupConfig(document.getElementById("Label1"));' target='configLabel1' title='Edit'>
<img alt='' height='18' src='http://img1.blogblog.com/img/icon18_wrench_allbkg.png' width='18'/>
</a>
</span>
</span>
<div class='clear'></div>
</div>
</div><div class='widget Profile' id='Profile1'>
<h2>About Me</h2>
<div class='widget-content'>
<dl class='profile-datablock'>
<dt class='profile-data'>
<a class='profile-name-link g-profile' href='http://www.blogger.com/profile/07683739886053674459' rel='author' style='background-image: url(//www.blogger.com/img/logo-16.png);'>
Mark Serrano
</a>
</dt>
<dd class='profile-textblock'>I'm a Java and Spring developer who enjoys learning and sharing. Freely you receive, freely you give.</dd>
</dl>
<a class='profile-link' href='http://www.blogger.com/profile/07683739886053674459' rel='author'>View my complete profile</a>
<div class='clear'></div>
<span class='widget-item-control'>
<span class='item-control blog-admin'>
<a class='quickedit' href='//www.blogger.com/rearrange?blogID=5097100801581543528&widgetType=Profile&widgetId=Profile1&action=editWidget&sectionId=sidebar-right-1' onclick='return _WidgetManager._PopupConfig(document.getElementById("Profile1"));' target='configProfile1' title='Edit'>
<img alt='' height='18' src='http://img1.blogblog.com/img/icon18_wrench_allbkg.png' width='18'/>
</a>
</span>
</span>
<div class='clear'></div>
</div>
</div><div class='widget Gadget' id='Gadget1'>
<h2 class='title'>Top Comments</h2>
<script type="text/javascript">
        if (!window.google || !google.friendconnect) {
          document.write('<script type="text/javascript"' +
              'src="http://www.google.com/friendconnect/script/friendconnect.js">' +
              '</scr' + 'ipt>');
        }
      </script>
<script type="text/javascript">
      if (!window.registeredBloggerCallbacks) {
        window.registeredBloggerCallbacks = true;

        

        
        gadgets.rpc.register('requestReload', function() {
          document.location.reload();
        });

        
        gadgets.rpc.register('requestSignOut', function(siteId) {
          
          google.friendconnect.container.openSocialSiteId = siteId;
          google.friendconnect.requestSignOut();
        });
      }
    </script>
<script type="text/javascript">
    
    function registerGetBlogUrls() {
      gadgets.rpc.register('getBlogUrls', function() {
        var holder = {};
        
          
            
            
              holder.currentPost = "http://www.blogger.com/feeds/5097100801581543528/posts/default/4316534791643282912";
            
            
            
              holder.currentComments = "http://www.blogger.com/feeds/5097100801581543528/4316534791643282912/comments/default";
            
            holder.currentPostUrl = "";
            holder.currentPostId = 4316534791643282912
          
          
          
            holder.postFeed = "http://www.blogger.com/feeds/5097100801581543528/posts/default";
          
          
          
            holder.commentFeed = "http://www.blogger.com/feeds/5097100801581543528/comments/default";
          
          holder.currentBlogUrl = "http://krams915.blogspot.com/";
          holder.currentBlogId = "5097100801581543528";
        
        return holder;
      });
    }
  </script>
<script type="text/javascript">
  if (!window.registeredCommonBloggerCallbacks) {
    window.registeredCommonBloggerCallbacks = true;

    gadgets.rpc.register('resize_iframe', function(height) {
      var el = document.getElementById(this['f']);
      if (el) {
        el.style.height = height + 'px';
      }
    });

    
    gadgets.rpc.register('set_pref', function() {});

    registerGetBlogUrls();
  }
  </script>
<div id="div-19djct5b7wllr" style="width: 100%; "></div>
<script type="text/javascript">
    var skin = {};
    skin['FACE_SIZE'] = '32';
    skin['HEIGHT'] = "200";
    skin['TITLE'] = "Top Comments";
    skin['BORDER_COLOR'] = "transparent";
    skin['ENDCAP_BG_COLOR'] = "transparent";
    skin['ENDCAP_TEXT_COLOR'] = "#000000";
    skin['ENDCAP_LINK_COLOR'] = "#a82121";
    skin['ALTERNATE_BG_COLOR'] = "transparent";
    
    skin['CONTENT_BG_COLOR'] = "transparent";
    skin['CONTENT_LINK_COLOR'] = "#a82121";
    skin['CONTENT_TEXT_COLOR'] = "#000000";
    skin['CONTENT_SECONDARY_LINK_COLOR'] = "#a82121";
    skin['CONTENT_SECONDARY_TEXT_COLOR'] = "#ffffff";
    skin['CONTENT_HEADLINE_COLOR'] = "#ffffff";
    skin['FONT_FACE'] = "normal normal 13px Arial, Tahoma, Helvetica, FreeSans, sans-serif";
    google.friendconnect.container.setParentUrl("/");
    google.friendconnect.container["renderOpenSocialGadget"](
    {id: "div-19djct5b7wllr",
     height: 200,
     
       url: "http://vevin.com/blogger/rc.xml",
     
     
       "view-params": {"summaryLength":"150","numberOfPosts":"11"},
     
     
       "prefs": {"summaryLength":"150","numberOfPosts":"11"},
     
     site: "15868765994367702964",
     
     locale: 'en' },
     skin);
  </script>
<div class='clear'></div>
<span class='widget-item-control'>
<span class='item-control blog-admin'>
<a class='quickedit' href='//www.blogger.com/rearrange?blogID=5097100801581543528&widgetType=Gadget&widgetId=Gadget1&action=editWidget&sectionId=sidebar-right-1' onclick='return _WidgetManager._PopupConfig(document.getElementById("Gadget1"));' target='configGadget1' title='Edit'>
<img alt='' height='18' src='http://img1.blogblog.com/img/icon18_wrench_allbkg.png' width='18'/>
</a>
</span>
</span>
<div class='clear'></div>
</div><div class='widget BlogArchive' id='BlogArchive1'>
<h2>Blog Archive</h2>
<div class='widget-content'>
<div class='ltr' id='ArchiveList'>
<div id='BlogArchive1_ArchiveList'>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/search?updated-min=2013-01-01T00:00:00%2B08:00&amp;updated-max=2014-01-01T00:00:00%2B08:00&amp;max-results=1'>2013</a>
<span class='post-count' dir='ltr'>(1)</span>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/search?updated-min=2013-04-01T00:00:00%2B08:00&amp;updated-max=2013-05-01T00:00:00%2B08:00&amp;max-results=1'>April</a>
<span class='post-count' dir='ltr'>(1)</span>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2013_04_05_archive.html'>Apr 05</a>
<span class='post-count' dir='ltr'>(1)</span>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/search?updated-min=2012-01-01T00:00:00%2B08:00&amp;updated-max=2013-01-01T00:00:00%2B08:00&amp;max-results=50'>2012</a>
<span class='post-count' dir='ltr'>(78)</span>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/search?updated-min=2012-12-01T00:00:00%2B08:00&amp;updated-max=2013-01-01T00:00:00%2B08:00&amp;max-results=13'>December</a>
<span class='post-count' dir='ltr'>(13)</span>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2012_12_10_archive.html'>Dec 10</a>
<span class='post-count' dir='ltr'>(8)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2012_12_02_archive.html'>Dec 02</a>
<span class='post-count' dir='ltr'>(5)</span>
</li>
</ul>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/search?updated-min=2012-11-01T00:00:00%2B08:00&amp;updated-max=2012-12-01T00:00:00%2B08:00&amp;max-results=3'>November</a>
<span class='post-count' dir='ltr'>(3)</span>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2012_11_26_archive.html'>Nov 26</a>
<span class='post-count' dir='ltr'>(1)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2012_11_20_archive.html'>Nov 20</a>
<span class='post-count' dir='ltr'>(2)</span>
</li>
</ul>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/search?updated-min=2012-08-01T00:00:00%2B08:00&amp;updated-max=2012-09-01T00:00:00%2B08:00&amp;max-results=1'>August</a>
<span class='post-count' dir='ltr'>(1)</span>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2012_08_02_archive.html'>Aug 02</a>
<span class='post-count' dir='ltr'>(1)</span>
</li>
</ul>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/search?updated-min=2012-07-01T00:00:00%2B08:00&amp;updated-max=2012-08-01T00:00:00%2B08:00&amp;max-results=5'>July</a>
<span class='post-count' dir='ltr'>(5)</span>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2012_07_08_archive.html'>Jul 08</a>
<span class='post-count' dir='ltr'>(5)</span>
</li>
</ul>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/search?updated-min=2012-06-01T00:00:00%2B08:00&amp;updated-max=2012-07-01T00:00:00%2B08:00&amp;max-results=10'>June</a>
<span class='post-count' dir='ltr'>(10)</span>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2012_06_20_archive.html'>Jun 20</a>
<span class='post-count' dir='ltr'>(5)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2012_06_18_archive.html'>Jun 18</a>
<span class='post-count' dir='ltr'>(5)</span>
</li>
</ul>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/search?updated-min=2012-05-01T00:00:00%2B08:00&amp;updated-max=2012-06-01T00:00:00%2B08:00&amp;max-results=1'>May</a>
<span class='post-count' dir='ltr'>(1)</span>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2012_05_02_archive.html'>May 02</a>
<span class='post-count' dir='ltr'>(1)</span>
</li>
</ul>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/search?updated-min=2012-03-01T00:00:00%2B08:00&amp;updated-max=2012-04-01T00:00:00%2B08:00&amp;max-results=5'>March</a>
<span class='post-count' dir='ltr'>(5)</span>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2012_03_08_archive.html'>Mar 08</a>
<span class='post-count' dir='ltr'>(5)</span>
</li>
</ul>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/search?updated-min=2012-02-01T00:00:00%2B08:00&amp;updated-max=2012-03-01T00:00:00%2B08:00&amp;max-results=18'>February</a>
<span class='post-count' dir='ltr'>(18)</span>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2012_02_20_archive.html'>Feb 20</a>
<span class='post-count' dir='ltr'>(4)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2012_02_16_archive.html'>Feb 16</a>
<span class='post-count' dir='ltr'>(4)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2012_02_08_archive.html'>Feb 08</a>
<span class='post-count' dir='ltr'>(6)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2012_02_05_archive.html'>Feb 05</a>
<span class='post-count' dir='ltr'>(4)</span>
</li>
</ul>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/search?updated-min=2012-01-01T00:00:00%2B08:00&amp;updated-max=2012-02-01T00:00:00%2B08:00&amp;max-results=22'>January</a>
<span class='post-count' dir='ltr'>(22)</span>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2012_01_31_archive.html'>Jan 31</a>
<span class='post-count' dir='ltr'>(6)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2012_01_28_archive.html'>Jan 28</a>
<span class='post-count' dir='ltr'>(5)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2012_01_20_archive.html'>Jan 20</a>
<span class='post-count' dir='ltr'>(6)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2012_01_13_archive.html'>Jan 13</a>
<span class='post-count' dir='ltr'>(5)</span>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate expanded'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/search?updated-min=2011-01-01T00:00:00%2B08:00&amp;updated-max=2012-01-01T00:00:00%2B08:00&amp;max-results=50'>2011</a>
<span class='post-count' dir='ltr'>(61)</span>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/search?updated-min=2011-10-01T00:00:00%2B08:00&amp;updated-max=2011-11-01T00:00:00%2B08:00&amp;max-results=4'>October</a>
<span class='post-count' dir='ltr'>(4)</span>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2011_10_13_archive.html'>Oct 13</a>
<span class='post-count' dir='ltr'>(1)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2011_10_09_archive.html'>Oct 09</a>
<span class='post-count' dir='ltr'>(3)</span>
</li>
</ul>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/search?updated-min=2011-09-01T00:00:00%2B08:00&amp;updated-max=2011-10-01T00:00:00%2B08:00&amp;max-results=6'>September</a>
<span class='post-count' dir='ltr'>(6)</span>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2011_09_16_archive.html'>Sep 16</a>
<span class='post-count' dir='ltr'>(6)</span>
</li>
</ul>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/search?updated-min=2011-04-01T00:00:00%2B08:00&amp;updated-max=2011-05-01T00:00:00%2B08:00&amp;max-results=1'>April</a>
<span class='post-count' dir='ltr'>(1)</span>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2011_04_16_archive.html'>Apr 16</a>
<span class='post-count' dir='ltr'>(1)</span>
</li>
</ul>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/search?updated-min=2011-03-01T00:00:00%2B08:00&amp;updated-max=2011-04-01T00:00:00%2B08:00&amp;max-results=8'>March</a>
<span class='post-count' dir='ltr'>(8)</span>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2011_03_27_archive.html'>Mar 27</a>
<span class='post-count' dir='ltr'>(2)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2011_03_20_archive.html'>Mar 20</a>
<span class='post-count' dir='ltr'>(2)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2011_03_19_archive.html'>Mar 19</a>
<span class='post-count' dir='ltr'>(1)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2011_03_18_archive.html'>Mar 18</a>
<span class='post-count' dir='ltr'>(1)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2011_03_12_archive.html'>Mar 12</a>
<span class='post-count' dir='ltr'>(1)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2011_03_06_archive.html'>Mar 06</a>
<span class='post-count' dir='ltr'>(1)</span>
</li>
</ul>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/search?updated-min=2011-02-01T00:00:00%2B08:00&amp;updated-max=2011-03-01T00:00:00%2B08:00&amp;max-results=13'>February</a>
<span class='post-count' dir='ltr'>(13)</span>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2011_02_28_archive.html'>Feb 28</a>
<span class='post-count' dir='ltr'>(1)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2011_02_26_archive.html'>Feb 26</a>
<span class='post-count' dir='ltr'>(1)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2011_02_22_archive.html'>Feb 22</a>
<span class='post-count' dir='ltr'>(1)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2011_02_19_archive.html'>Feb 19</a>
<span class='post-count' dir='ltr'>(1)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2011_02_13_archive.html'>Feb 13</a>
<span class='post-count' dir='ltr'>(2)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2011_02_12_archive.html'>Feb 12</a>
<span class='post-count' dir='ltr'>(1)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2011_02_09_archive.html'>Feb 09</a>
<span class='post-count' dir='ltr'>(1)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2011_02_08_archive.html'>Feb 08</a>
<span class='post-count' dir='ltr'>(5)</span>
</li>
</ul>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate expanded'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/search?updated-min=2011-01-01T00:00:00%2B08:00&amp;updated-max=2011-02-01T00:00:00%2B08:00&amp;max-results=29'>January</a>
<span class='post-count' dir='ltr'>(29)</span>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2011_01_30_archive.html'>Jan 30</a>
<span class='post-count' dir='ltr'>(4)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2011_01_19_archive.html'>Jan 19</a>
<span class='post-count' dir='ltr'>(2)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2011_01_16_archive.html'>Jan 16</a>
<span class='post-count' dir='ltr'>(4)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2011_01_14_archive.html'>Jan 14</a>
<span class='post-count' dir='ltr'>(1)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2011_01_13_archive.html'>Jan 13</a>
<span class='post-count' dir='ltr'>(2)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2011_01_12_archive.html'>Jan 12</a>
<span class='post-count' dir='ltr'>(1)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate expanded'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2011_01_08_archive.html'>Jan 08</a>
<span class='post-count' dir='ltr'>(5)</span>
<ul class='posts'>
<li><a href='http://krams915.blogspot.hk/2011/01/spring-mvc-3-hibernate-annotations.html'>Spring MVC 3, Hibernate Annotations, MySQL Integra...</a></li>
<li><a href='http://krams915.blogspot.hk/2011/01/spring-security-mvc-using-embedded-ldap.html'>Spring Security - MVC: Using an Embedded LDAP Serv...</a></li>
<li><a href='http://krams915.blogspot.hk/2011/01/spring-and-gwt-security-via-spring.html'>Spring and GWT: Security via Spring Security</a></li>
<li><a href='http://krams915.blogspot.hk/2011/01/spring-and-gwt-integration-using-maven_08.html'>Spring and GWT Integration using Maven and GWTHand...</a></li>
<li><a href='http://krams915.blogspot.hk/2011/01/spring-and-gwt-integration-using-maven.html'>Spring and GWT Integration using Maven and GWTHand...</a></li>
</ul>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2011_01_07_archive.html'>Jan 07</a>
<span class='post-count' dir='ltr'>(2)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2011_01_04_archive.html'>Jan 04</a>
<span class='post-count' dir='ltr'>(2)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2011_01_02_archive.html'>Jan 02</a>
<span class='post-count' dir='ltr'>(5)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2011_01_01_archive.html'>Jan 01</a>
<span class='post-count' dir='ltr'>(1)</span>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/search?updated-min=2010-01-01T00:00:00%2B08:00&amp;updated-max=2011-01-01T00:00:00%2B08:00&amp;max-results=24'>2010</a>
<span class='post-count' dir='ltr'>(24)</span>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/search?updated-min=2010-12-01T00:00:00%2B08:00&amp;updated-max=2011-01-01T00:00:00%2B08:00&amp;max-results=24'>December</a>
<span class='post-count' dir='ltr'>(24)</span>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2010_12_31_archive.html'>Dec 31</a>
<span class='post-count' dir='ltr'>(4)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2010_12_30_archive.html'>Dec 30</a>
<span class='post-count' dir='ltr'>(1)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2010_12_28_archive.html'>Dec 28</a>
<span class='post-count' dir='ltr'>(3)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2010_12_27_archive.html'>Dec 27</a>
<span class='post-count' dir='ltr'>(2)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2010_12_26_archive.html'>Dec 26</a>
<span class='post-count' dir='ltr'>(3)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2010_12_24_archive.html'>Dec 24</a>
<span class='post-count' dir='ltr'>(2)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2010_12_22_archive.html'>Dec 22</a>
<span class='post-count' dir='ltr'>(3)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2010_12_21_archive.html'>Dec 21</a>
<span class='post-count' dir='ltr'>(1)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2010_12_20_archive.html'>Dec 20</a>
<span class='post-count' dir='ltr'>(1)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2010_12_19_archive.html'>Dec 19</a>
<span class='post-count' dir='ltr'>(1)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2010_12_18_archive.html'>Dec 18</a>
<span class='post-count' dir='ltr'>(1)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2010_12_17_archive.html'>Dec 17</a>
<span class='post-count' dir='ltr'>(1)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2010_12_12_archive.html'>Dec 12</a>
<span class='post-count' dir='ltr'>(1)</span>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/search?updated-min=2009-01-01T00:00:00%2B08:00&amp;updated-max=2010-01-01T00:00:00%2B08:00&amp;max-results=2'>2009</a>
<span class='post-count' dir='ltr'>(2)</span>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/search?updated-min=2009-11-01T00:00:00%2B08:00&amp;updated-max=2009-12-01T00:00:00%2B08:00&amp;max-results=2'>November</a>
<span class='post-count' dir='ltr'>(2)</span>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2009_11_28_archive.html'>Nov 28</a>
<span class='post-count' dir='ltr'>(1)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle'>
<span class='zippy'></span>
</a>
<a class='post-count-link' href='http://krams915.blogspot.hk/2009_11_26_archive.html'>Nov 26</a>
<span class='post-count' dir='ltr'>(1)</span>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<div class='clear'></div>
<span class='widget-item-control'>
<span class='item-control blog-admin'>
<a class='quickedit' href='//www.blogger.com/rearrange?blogID=5097100801581543528&widgetType=BlogArchive&widgetId=BlogArchive1&action=editWidget&sectionId=sidebar-right-1' onclick='return _WidgetManager._PopupConfig(document.getElementById("BlogArchive1"));' target='configBlogArchive1' title='Edit'>
<img alt='' height='18' src='http://img1.blogblog.com/img/icon18_wrench_allbkg.png' width='18'/>
</a>
</span>
</span>
<div class='clear'></div>
</div>
</div><div class='widget PlusOne' id='PlusOne1'>
<div class='widget-content'>
<g:plusone annotation='bubble' href='http://krams915.blogspot.com/' size='standard' source='blogger:blog:plusone' width='250'></g:plusone>
<script type='text/javascript'>
      window.___gcfg = {"lang": "en"};
    </script>
</div>
</div></div>
<table border='0' cellpadding='0' cellspacing='0' class='section-columns columns-2'>
<tbody>
<tr>
<td class='first columns-cell'>
<div class='sidebar section' id='sidebar-right-2-1'><div class='widget HTML' id='HTML1'>
<h2 class='title'>Live Traffic Map</h2>
<div class='widget-content'>
<script src="http://feedjit.com/map/?bc=FFFFFF&amp;tc=494949&amp;brd1=336699&amp;lnk=494949&amp;hc=336699&amp;dot=FF0000" type="text/javascript"></script><noscript><a href="http://feedjit.com/">Feedjit Live Blog Stats</a></noscript>
</div>
<div class='clear'></div>
<span class='widget-item-control'>
<span class='item-control blog-admin'>
<a class='quickedit' href='//www.blogger.com/rearrange?blogID=5097100801581543528&widgetType=HTML&widgetId=HTML1&action=editWidget&sectionId=sidebar-right-2-1' onclick='return _WidgetManager._PopupConfig(document.getElementById("HTML1"));' target='configHTML1' title='Edit'>
<img alt='' height='18' src='http://img1.blogblog.com/img/icon18_wrench_allbkg.png' width='18'/>
</a>
</span>
</span>
<div class='clear'></div>
</div><div class='widget HTML' id='HTML5'>
<h2 class='title'>StatCounter</h2>
<div class='widget-content'>
<!--StatCounter starts-->
<script type="text/javascript">
var sc_project=5335978; 
var sc_invisible=0; 
var sc_partition=47; 
var sc_click_stat=1; 
var sc_security="ce978af6"; 
</script>

<script src="http://www.statcounter.com/counter/counter_xhtml.js" type="text/javascript"></script><noscript><div class="statcounter"><a class="statcounter" href="http://www.statcounter.com/blogger/" title="blogspot visitor"><img alt="blogspot visitor" src="http://c.statcounter.com/5335978/0/ce978af6/0/" class="statcounter"/></a></div></noscript>
<br/><a href="http://my.statcounter.com/project/standard/stats.php?project_id=5335978&guest=1">View My Stats</a>
<!--StatCounter ends-->
</div>
<div class='clear'></div>
<span class='widget-item-control'>
<span class='item-control blog-admin'>
<a class='quickedit' href='//www.blogger.com/rearrange?blogID=5097100801581543528&widgetType=HTML&widgetId=HTML5&action=editWidget&sectionId=sidebar-right-2-1' onclick='return _WidgetManager._PopupConfig(document.getElementById("HTML5"));' target='configHTML5' title='Edit'>
<img alt='' height='18' src='http://img1.blogblog.com/img/icon18_wrench_allbkg.png' width='18'/>
</a>
</span>
</span>
<div class='clear'></div>
</div><div class='widget HTML' id='HTML6'>
<h2 class='title'>SiteMeter</h2>
<div class='widget-content'>
<!-- Site Meter XHTML Strict 1.0 -->
<script src="http://s30.sitemeter.com/js/counter.js?site=s30kramsblog" type="text/javascript">
</script>
<!-- Copyright (c)2009 Site Meter -->
</div>
<div class='clear'></div>
<span class='widget-item-control'>
<span class='item-control blog-admin'>
<a class='quickedit' href='//www.blogger.com/rearrange?blogID=5097100801581543528&widgetType=HTML&widgetId=HTML6&action=editWidget&sectionId=sidebar-right-2-1' onclick='return _WidgetManager._PopupConfig(document.getElementById("HTML6"));' target='configHTML6' title='Edit'>
<img alt='' height='18' src='http://img1.blogblog.com/img/icon18_wrench_allbkg.png' width='18'/>
</a>
</span>
</span>
<div class='clear'></div>
</div><div class='widget HTML' id='HTML3'>
<h2 class='title'>FeedCount</h2>
<div class='widget-content'>
<!--FeedBurner FeedCount starts-->
<p><a href="http://feeds.feedburner.com/krams915"><img width="88" style="border:0" alt="" src="http://feeds.feedburner.com/~fc/krams915?bg=99CCFF&amp;fg=444444&amp;anim=0" height="26"/></a></p>
<!--FeedBurner FeedCount ends-->
</div>
<div class='clear'></div>
<span class='widget-item-control'>
<span class='item-control blog-admin'>
<a class='quickedit' href='//www.blogger.com/rearrange?blogID=5097100801581543528&widgetType=HTML&widgetId=HTML3&action=editWidget&sectionId=sidebar-right-2-1' onclick='return _WidgetManager._PopupConfig(document.getElementById("HTML3"));' target='configHTML3' title='Edit'>
<img alt='' height='18' src='http://img1.blogblog.com/img/icon18_wrench_allbkg.png' width='18'/>
</a>
</span>
</span>
<div class='clear'></div>
</div></div>
</td>
<td class='columns-cell'>
<div class='sidebar section' id='sidebar-right-2-2'></div>
</td>
</tr>
</tbody>
</table>
<div class='sidebar section' id='sidebar-right-3'></div>
</aside>
</div>
</div>
</div>
<div style='clear: both'></div>
<!-- columns -->
</div>
<!-- main -->
</div>
</div>
<div class='main-cap-bottom cap-bottom'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
</div>
<footer>
<div class='footer-outer'>
<div class='footer-cap-top cap-top'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
<div class='fauxborder-left footer-fauxborder-left'>
<div class='fauxborder-right footer-fauxborder-right'></div>
<div class='region-inner footer-inner'>
<div class='foot section' id='footer-1'></div>
<table border='0' cellpadding='0' cellspacing='0' class='section-columns columns-2'>
<tbody>
<tr>
<td class='first columns-cell'>
<div class='foot section' id='footer-2-1'></div>
</td>
<td class='columns-cell'>
<div class='foot section' id='footer-2-2'></div>
</td>
</tr>
</tbody>
</table>
<!-- outside of the include in order to lock Attribution widget -->
<div class='foot section' id='footer-3'><div class='widget Attribution' id='Attribution1'>
<div class='widget-content' style='text-align: center;'>
Template images by <a href='http://www.istockphoto.com/googleimages.php?id=9171196&platform=blogger&langregion=en' target='_blank'>rajareddychadive</a>. Powered by <a href='http://www.blogger.com' target='_blank'>Blogger</a>.
</div>
<div class='clear'></div>
<span class='widget-item-control'>
<span class='item-control blog-admin'>
<a class='quickedit' href='//www.blogger.com/rearrange?blogID=5097100801581543528&widgetType=Attribution&widgetId=Attribution1&action=editWidget&sectionId=footer-3' onclick='return _WidgetManager._PopupConfig(document.getElementById("Attribution1"));' target='configAttribution1' title='Edit'>
<img alt='' height='18' src='http://img1.blogblog.com/img/icon18_wrench_allbkg.png' width='18'/>
</a>
</span>
</span>
<div class='clear'></div>
</div></div>
</div>
</div>
<div class='footer-cap-bottom cap-bottom'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
</div>
</footer>
<!-- content -->
</div>
</div>
<div class='content-cap-bottom cap-bottom'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
</div>
</div>
<script type='text/javascript'>
    window.setTimeout(function() {
        document.body.className = document.body.className.replace('loading', '');
      }, 10);
  </script>
<!--Google Analytics start-->
<script type='text/javascript'>
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type='text/javascript'>
try {
var pageTracker = _gat._getTracker("UA-11768906-1");
pageTracker._trackPageview();
} catch(err) {}</script>
<!--Google Analytics end-->
<script type="text/javascript">
if (window.jstiming) window.jstiming.load.tick('widgetJsBefore');
</script><script type="text/javascript" src="https://www.blogger.com/static/v1/widgets/2996807229-widgets.js"></script>
<script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script>
<script type='text/javascript'>
if (typeof(BLOG_attachCsiOnload) != 'undefined' && BLOG_attachCsiOnload != null) { window['blogger_templates_experiment_id'] = "templatesV2";window['blogger_blog_id'] = '5097100801581543528';BLOG_attachCsiOnload('item_'); }_WidgetManager._Init('//www.blogger.com/rearrange?blogID\x3d5097100801581543528','//krams915.blogspot.hk/2011/01/spring-security-mvc-using-embedded-ldap.html','5097100801581543528');
_WidgetManager._SetDataContext([{'name': 'blog', 'data': {'blogId': '5097100801581543528', 'bloggerUrl': 'http://www.blogger.com', 'title': 'krams::', 'pageType': 'item', 'url': 'http://krams915.blogspot.hk/2011/01/spring-security-mvc-using-embedded-ldap.html', 'canonicalUrl': 'http://krams915.blogspot.com/2011/01/spring-security-mvc-using-embedded-ldap.html', 'canonicalHomepageUrl': 'http://krams915.blogspot.com/', 'homepageUrl': 'http://krams915.blogspot.hk/', 'blogspotFaviconUrl': 'http://krams915.blogspot.hk/favicon.ico', 'enabledCommentProfileImages': true, 'adultContent': false, 'disableAdSenseWidget': false, 'analyticsAccountNumber': '', 'searchLabel': '', 'searchQuery': '', 'pageName': 'Spring Security - MVC: Using an Embedded LDAP Server', 'pageTitle': 'krams::: Spring Security - MVC: Using an Embedded LDAP Server', 'encoding': 'UTF-8', 'locale': 'en', 'localeUnderscoreDelimited': 'en', 'isPrivate': false, 'isMobile': false, 'isMobileRequest': false, 'mobileClass': '', 'isPrivateBlog': false, 'languageDirection': 'ltr', 'feedLinks': '\74link rel\75\42alternate\42 type\75\42application/atom+xml\42 title\75\42krams:: - Atom\42 href\75\42http://krams915.blogspot.com/feeds/posts/default\42 /\76\n\74link rel\75\42alternate\42 type\75\42application/rss+xml\42 title\75\42krams:: - RSS\42 href\75\42http://krams915.blogspot.com/feeds/posts/default?alt\75rss\42 /\76\n\74link rel\75\42service.post\42 type\75\42application/atom+xml\42 title\75\42krams:: - Atom\42 href\75\42http://www.blogger.com/feeds/5097100801581543528/posts/default\42 /\76\n\n\74link rel\75\42alternate\42 type\75\42application/atom+xml\42 title\75\42krams:: - Atom\42 href\75\42http://krams915.blogspot.com/feeds/4316534791643282912/comments/default\42 /\76\n', 'meTag': '', 'openIdOpTag': '', 'imageSrcTag': '', 'latencyHeadScript': '\74script type\75\42text/javascript\42\76(function() { var b\75window,f\75\42jstiming\42,g\75\42tick\42;(function(){function d(a){this.t\75{};this.tick\75function(a,d,c){var e\75void 0!\75c?c:(new Date).getTime();this.t[a]\75[e,d];if(void 0\75\75c)try{b.console.timeStamp(\42CSI/\42+a)}catch(h){}};this[g](\42start\42,null,a)}var a;b.performance\46\46(a\75b.performance.timing);var m\75a?new d(a.responseStart):new d;b.jstiming\75{Timer:d,load:m};if(a){var c\75a.navigationStart,h\75a.responseStart;0\74c\46\46h\76\75c\46\46(b[f].srt\75h-c)}if(a){var e\75b[f].load;0\74c\46\46h\76\75c\46\46(e[g](\42_wtsrt\42,void 0,c),e[g](\42wtsrt_\42,\42_wtsrt\42,h),e[g](\42tbsd_\42,\42wtsrt_\42))}try{a\75null,\nb.chrome\46\46b.chrome.csi\46\46(a\75Math.floor(b.chrome.csi().pageT),e\46\0460\74c\46\46(e[g](\42_tbnd\42,void 0,b.chrome.csi().startE),e[g](\42tbnd_\42,\42_tbnd\42,c))),null\75\75a\46\46b.gtbExternal\46\46(a\75b.gtbExternal.pageT()),null\75\75a\46\46b.external\46\46(a\75b.external.pageT,e\46\0460\74c\46\46(e[g](\42_tbnd\42,void 0,b.external.startE),e[g](\42tbnd_\42,\42_tbnd\42,c))),a\46\46(b[f].pt\75a)}catch(n){}})();b.tickAboveFold\75function(d){var a\0750;if(d.offsetParent){do a+\75d.offsetTop;while(d\75d.offsetParent)}d\75a;750\76\75d\46\46b[f].load[g](\42aft\42)};var k\75!1;function l(){k||(k\75!0,b[f].load[g](\42firstScrollTime\42))}b.addEventListener?b.addEventListener(\42scroll\42,l,!1):b.attachEvent(\42onscroll\42,l);\n })();\74/script\076', 'mobileHeadScript': '', 'ieCssRetrofitLinks': '\74!--[if IE]\76\74script type\75\42text/javascript\42 src\75\42https://www.blogger.com/static/v1/jsbin/4163410827-ieretrofit.js\42\76\74/script\76\n\74![endif]--\076', 'view': '', 'dynamicViewsCommentsSrc': '//www.blogblog.com/dynamicviews/4224c15c4e7c9321/js/comments.js', 'dynamicViewsScriptSrc': '//www.blogblog.com/dynamicviews/d6f37bb30c327165', 'plusOneApiSrc': 'https://apis.google.com/js/plusone.js', 'testHtml5CssSrc': 'https://www.blogger.com/static/v1/widgets/2412321170-css_bundle_html5.css', 'sf': 'n', 'tf': ''}}, {'name': 'skin', 'data': {'vars': {'date_border_size': '0', 'description_font': 'normal normal 16px Arial, Tahoma, Helvetica, FreeSans, sans-serif', 'body_background_gradient_cap': 'none', 'tabs_selected_background_color': '#000000', 'footer_background_gradient': 'url(http://www.blogblog.com/1kt/awesomeinc/header_gradient_artsy.png)', 'date_background': 'transparent url(http://www.blogblog.com/1kt/awesomeinc/tabs_gradient_artsy.png) repeat fixed center center', 'widget_border_radius': '10px', 'post_title_text_color': '#db4949', 'widget_font': 'normal normal 13px Arial, Tahoma, Helvetica, FreeSans, sans-serif', 'widget_link_hover_color': '#d3aaae', 'link_visited_color': '#000000', 'date_space': '60px', 'post_title_font': 'normal normal 26px Arial, Tahoma, Helvetica, FreeSans, sans-serif', 'tabs_text_color': '#ffffff', 'title_separator_border_size': '0', 'header_background_gradient': 'url(http://www.blogblog.com/1kt/awesomeinc/header_gradient_artsy.png)', 'widget_outer_background_gradient': 'url(http://www.blogblog.com/1kt/awesomeinc/tabs_gradient_artsy.png)', 'widget_link_color': '#d3aaae', 'widget_title_font': 'normal bold 14px Arial, Tahoma, Helvetica, FreeSans, sans-serif', 'widget_outer_background_color': 'transparent', 'date_last_border_radius_bottom': '0', 'widget_outer_margin_top': '0', 'shadow_spread': '0', 'title_shadow_spread': '-1px', 'body_background': '#000000 url(http://themes.googleusercontent.com/image?id\0751_UPSuFGxHEaIUme6AnAeu5ZvDnijFNnoLXkl6NuCpTfWQN5BRuDJV_NkibASw-94tFfA) no-repeat scroll top center /* Credit: rajareddychadive (http://www.istockphoto.com/googleimages.php?id\759171196\46platform\75blogger) */', 'outer_shadow_spread': '0', 'keycolor': '#000000', 'image_shadow_spread': '0', 'image_background_color': '#ffffff', 'header_font': 'normal normal 38px Arial, Tahoma, Helvetica, FreeSans, sans-serif', 'header_background_color': 'transparent', 'date_header_border_radius_top': '10px', 'widget_border_bevel_color': 'transparent', 'tabs_border_color': '#c54451', 'widget_background_color': 'transparent', 'date_position': 'absolute', 'post_first_padding_top': '10px', 'tabs_background_gradient': 'url(http://www.blogblog.com/1kt/awesomeinc/tabs_gradient_artsy.png)', 'date_border_color': 'transparent', 'tabs_background_color': 'transparent', 'widget_link_visited_color': '#d4bd89', 'feed_text_color': '#696969', 'header_margin_top': '14px', 'link_hover_color': '#a82121', 'date_last_space_bottom': '0', 'header_margin_bottom': '10px', 'date_padding_bottom': '0', 'list_separator_border_size': '0', 'description_text_color': '#000000', 'body_text_color': '#000000', 'header_padding_top': '9px', 'post_border_color': '#f1cbc0', 'footer_text_color': '#696969', 'post_background_color': '#ffffff', 'pager_space_top': '0', 'endSide': 'right', 'startSide': 'left', 'tabs_font': 'normal normal 13px Arial, Tahoma, Helvetica, FreeSans, sans-serif', 'body_font': 'normal normal 13px Arial, Tahoma, Helvetica, FreeSans, sans-serif', 'date_first_border_radius_top': '10px', 'date_header_position': '25px', 'date_text_color': '#ffffff', 'widget_title_text_color': '#ffffff', 'image_border_color': '#c3c3c3', 'separator_outdent': '0', 'widget_text_color': '#ffffff', 'link_color': '#a82121', 'widget_border_color': 'transparent', 'pager_border_radius_top': '0', 'feed_link_color': '#ffffff', 'header_text_color': '#000000', 'footer_background_color': 'transparent', 'widget_padding_top': '8px', 'feed_link_visited_color': '#ffffff', 'feed_link_hover_color': '#ffffff', 'date_font': 'normal normal 13px Arial, Tahoma, Helvetica, FreeSans, sans-serif', 'tabs_selected_text_color': '#ffffff', 'date_side': 'left', 'post_border_bevel_color': '#f6ded7', 'widget_padding_side': '0', 'body_background_color': '#ceabaf', 'image_border_radius': '0', 'pager_background_color': '#ffffff', 'widget_alternate_text_color': '#ffffff'}, 'override': ''}}, {'name': 'view', 'data': {'classic': {'name': 'classic', 'url': '/?view\75classic'}, 'flipcard': {'name': 'flipcard', 'url': '/?view\75flipcard'}, 'magazine': {'name': 'magazine', 'url': '/?view\75magazine'}, 'mosaic': {'name': 'mosaic', 'url': '/?view\75mosaic'}, 'sidebar': {'name': 'sidebar', 'url': '/?view\75sidebar'}, 'snapshot': {'name': 'snapshot', 'url': '/?view\75snapshot'}, 'timeslide': {'name': 'timeslide', 'url': '/?view\75timeslide'}}}]);
_WidgetManager._RegisterWidget('_LinkListView', new _WidgetInfo('LinkList34', 'crosscol', null, document.getElementById('LinkList34'), {}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_HeaderView', new _WidgetInfo('Header1', 'header', null, document.getElementById('Header1'), {}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_AttributionView', new _WidgetInfo('Attribution1', 'footer-3', null, document.getElementById('Attribution1'), {'attribution': 'Template images by \74a href\75\47http://www.istockphoto.com/googleimages.php?id\759171196\46platform\75blogger\46langregion\75en\47 target\75\47_blank\47\76rajareddychadive\74/a\76. Powered by \74a href\75\47http://www.blogger.com\47 target\75\47_blank\47\76Blogger\74/a\76.'}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_BlogView', new _WidgetInfo('Blog1', 'main', null, document.getElementById('Blog1'), {'cmtInteractionsEnabled': false, 'lightboxEnabled': true, 'lightboxModuleUrl': 'https://www.blogger.com/static/v1/jsbin/1153839444-lbx.js', 'lightboxCssUrl': 'https://www.blogger.com/static/v1/v-css/4138445517-lightbox_bundle.css'}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML64', 'main', null, document.getElementById('HTML64'), {}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML123', 'sidebar-right-1', null, document.getElementById('HTML123'), {}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_LabelView', new _WidgetInfo('Label1', 'sidebar-right-1', null, document.getElementById('Label1'), {}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_ProfileView', new _WidgetInfo('Profile1', 'sidebar-right-1', null, document.getElementById('Profile1'), {}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_GadgetView', new _WidgetInfo('Gadget1', 'sidebar-right-1', null, document.getElementById('Gadget1'), {}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_BlogArchiveView', new _WidgetInfo('BlogArchive1', 'sidebar-right-1', null, document.getElementById('BlogArchive1'), {'languageDirection': 'ltr'}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_PlusOneView', new _WidgetInfo('PlusOne1', 'sidebar-right-1', null, document.getElementById('PlusOne1'), {}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML1', 'sidebar-right-2-1', null, document.getElementById('HTML1'), {}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML5', 'sidebar-right-2-1', null, document.getElementById('HTML5'), {}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML6', 'sidebar-right-2-1', null, document.getElementById('HTML6'), {}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML3', 'sidebar-right-2-1', null, document.getElementById('HTML3'), {}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_NavbarView', new _WidgetInfo('Navbar1', 'navbar', null, document.getElementById('Navbar1'), {}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_PageListView', new _WidgetInfo('PageList1', 'null', null, document.getElementById('PageList1'), {'title': 'Pages', 'links': [{'href': 'http://krams915.blogspot.hk/', 'title': 'Home', 'isCurrentPage': false}, {'href': 'http://krams915.blogspot.hk/p/about-me.html', 'title': 'About Me', 'isCurrentPage': false}, {'href': 'http://krams915.blogspot.hk/p/tutorials.html', 'title': 'Tutorials', 'isCurrentPage': false}], 'mobile': false}, 'displayModeFull'));
</script>
</body>
</html>